Pagini recente » Cod sursa (job #3360830) | Cod sursa (job #3360628) | Cod sursa (job #3360829) | Cod sursa (job #3360718) | Cod sursa (job #3360926)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
bool ciur[400];
int prime[100];
int v[6];
int main()
{
int n, i, j, j1, j2, j3, j4, j5, x, d=0, copx, nr=0;
long long s;
for(i=2;i<400;i++){
if(ciur[i]==false){
prime[d++]=i;
for(j=i;j<400;j+=i){
ciur[j]=true;
}
}
}
in>>n;
for(i=0;i<n;i++){
in>>x;
copx=x;
j=0;
d=0;
while(prime[j]*prime[j]<=copx){
if(copx%prime[j]==0){
v[d++]=prime[j];
while(copx%prime[j]==0){
copx/=prime[j];
}
}
j++;
}
if(copx!=1){v[d++]=copx;}
s=((x-1)*x)/2;
nr=x;
for(j=0;j<d;j++){
s-=v[j]*((x/v[j]-1)*(x/v[j]))/2;
nr-=x/v[j];
}
for(j=0;j<d;j++){
for(j1=j+1;j1<d;j1++){
s+=v[j]*v[j1]*((x/v[j]/v[j1]-1)*(x/v[j]/v[j1]))/2;
nr+=x/v[j]/v[j1];
}
}
for(j=0;j<d;j++){
for(j1=j+1;j1<d;j1++){
for(j2=j1+1;j2<d;j2++){
s-=v[j]*v[j1]*v[j2]*((x/v[j]/v[j1]/v[j2]-1)*(x/v[j]/v[j1]/v[j2]))/2;
nr-=x/v[j]/v[j1]/v[j2];
}
}
}
for(j=0;j<d;j++){
for(j1=j+1;j1<d;j1++){
for(j2=j1+1;j2<d;j2++){
for(j3=j2+1;j3<d;j3++){
s+=v[j]*v[j1]*v[j2]*v[j3]*((x/v[j]/v[j1]/v[j2]/v[j3]-1)*(x/v[j]/v[j1]/v[j2]/v[j3]))/2;
nr+=x/v[j]/v[j1]/v[j2]/v[j3];
}
}
}
}
for(j=0;j<d;j++){
for(j1=j+1;j1<d;j1++){
for(j2=j1+1;j2<d;j2++){
for(j3=j2+1;j3<d;j3++){
for(j4=j3+1;j4<d;j4++){
s-=v[j]*v[j1]*v[j2]*v[j3]*v[j4]*((x/v[j]/v[j1]/v[j2]/v[j3]/v[j4]-1)*(x/v[j]/v[j1]/v[j2]/v[j3]/v[j4]))/2;
nr-=x/v[j]/v[j1]/v[j2]/v[j3]/v[j4];
}
}
}
}
}
for(j=0;j<d;j++){
for(j1=j+1;j1<d;j1++){
for(j2=j1+1;j2<d;j2++){
for(j3=j2+1;j3<d;j3++){
for(j4=j3+1;j4<d;j4++){
for(j5=j4+1;j5<d;j5++){
s+=v[j]*v[j1]*v[j2]*v[j3]*v[j4]*v[j5]*((x/v[j]/v[j1]/v[j2]/v[j3]/v[j4]/v[j5]-1)*(x/v[j]/v[j1]/v[j2]/v[j3]/v[j4]/v[j5]))/2;
nr+=x/v[j]/v[j1]/v[j2]/v[j3]/v[j4]/v[j5];
}
}
}
}
}
}
out<<2*s+x*nr<<"\n";
}
return 0;
}