Pagini recente » Cod sursa (job #53578) | Formatare Textile | Cod sursa (job #1612222) | Cod sursa (job #1690506) | Cod sursa (job #802435)
Cod sursa(job #802435)
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
using namespace std;
#define MAX 100001
short int viz[MAX];
int v[MAX];
void ciur()
{
int i, j;
for(i=1; i<=MAX; i++)
v[i] = i-1;
for(i=2; i<=MAX; i++)
if(viz[i]==0)
if(i*i <= MAX)
for(j=i*i; j<=MAX; j+=i)
{
viz[j] = 1;
v[j] -= v[i];
}
else
break;
}
int main()
{
//ifstream f("sum.in");
//ofstream g("sum.out");
FILE *f=fopen("sum.in","r");
FILE *g=fopen("sum.out","w");
int t, n, x;
long long sum;
ciur();
//Read
//f>>n;
fscanf(f,"%d",&n);
for(t=1; t<=n; t++)
{
//f>>x;
fscanf(f,"%d",&x);
//Compute
sum = v[x]*x*2;
//Print
//g<<sum<<endl;
fprintf(g,"%d\n",sum);
}
}