Pagini recente » Cod sursa (job #1513118) | Cod sursa (job #2752897) | Cod sursa (job #847627) | Cod sursa (job #1598102) | Cod sursa (job #995579)
Cod sursa(job #995579)
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
#define FOR(i,n) for (int i = 0 ; i< n;i++)
#define FORI(i,s,e) for (int i = s ; i<= e;i++)
#define MP(x,y) make_pair(x,y)
#define PB(x) push_back(x)
#define RALL(x) x.rbegin(),x.rend()
#define SZ(x) x.size()
#define FZ(x) memset(x,0,sizeof(x))
int tot[100001];
bool primef[100001];
int main()
{
FILE* f = fopen("sum.in","r");
FILE* fout = fopen("sum.out","w");
int n;
fscanf(f,"%d",&n);
for(int i = 2 ; i < 100001;i++)
{
primef[i] = true;
tot[i] = i;
}
for(int i = 2 ; i < 100001;i++)
if (primef[i])
for(int j = i ; j < 100001;j+=i)
{
primef[j] = false;
tot[j] = tot[j] *(i-1) / i;
}
FOR(i,n)
{
int a;
fscanf(f,"%d\n",&a);
fprintf(fout,"%d\n", 2*a*tot[a]);
}
fclose(fout);
return 0;
}