Pagini recente » Borderou de evaluare (job #1142773) | Borderou de evaluare (job #3041803) | Borderou de evaluare (job #1684061) | Borderou de evaluare (job #410414) | 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);
}
}