Pagini recente » Cod sursa (job #1160828) | Cod sursa (job #505582) | Cod sursa (job #1983218) | Cod sursa (job #2385800) | Cod sursa (job #728418)
Cod sursa(job #728418)
//Include
#include <fstream>
using namespace std;
//Constante
const int MAX_SIZE = (int)1e5+1;
//Functii
int gauss(int val);
//Variabile
ifstream in("sum.in");
ofstream out("sum.out");
int nrIntrebari;
int limit;
int sume[MAX_SIZE], question[MAX_SIZE];
//Main
int main()
{
in >> nrIntrebari;
for(int i=1 ; i<=nrIntrebari ; ++i)
{
in >> question[i];
if(question[i] > limit)
limit = question[i];
}
limit <<= 1;
int k;
for(int i=2 ; i<=limit ; ++i)
{
/*if(!sume[i])
sume[i] = i<<1;*/
sume[i] += i*3;
for(int j=i<<1 ; j<=limit ; j+=i)
for(k=j-i, sume[j]+=i ; i<k ; k-=i)
{
sume[j] += k;
if(j < k<<1)
sume[k] += j;
}
}
for(int i=1 ; i<=nrIntrebari ; ++i)
out << (gauss(question[i]<<1) - sume[question[i]]) << '\n';
in.close();
out.close();
return 0;
}
int gauss(int val)
{ return (val*(val+1)>>1); }