Cod sursa(job #1251445)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 29 octombrie 2014 14:55:32
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<iostream>
#include<fstream>
#include<cstdio>
using namespace std;
int x[1000], n, co = 0;
_int64 s;
void funct(int n)
{
	int d = 2, p = 0;
	while(n != 1)
	{
		while(n % d == 0)
		{
			n /= d;
			p = 1;
		}
		if(p != 0)
		{
			x[co] = d;
			co++;
		}
		d++;
		p = 0;
	}
	d = 2;
	p = 0;
}
void biti()
{
	s = ((n*2)*(n*2+1))/2;
	long long bit[100003] = { 0 };
	funct(n);
	for(int i = 0; i < co; i++)
	{
		for(int j = x[i]; j <= n * 2; j+=x[i])
			bit[j] = 1;
	}
	for(int i = 1; i <= n * 2; i++)
	{
		if(bit[i] == 1)
			s -= i;
		bit[i] = 0;
	}
	printf("%llu\n", s);
}
int main()
{
	int a;
	freopen("sum.in", "r", stdin);
    freopen("sum.out", "w", stdout);
	scanf("%zd", &a);
	for(int i = 0; i < a; i++)
	{
		scanf("%zd", &n);
		biti();
		co = 0;
		s = 0;
	}
}