Pagini recente » Cod sursa (job #2255003) | Istoria paginii runda/pregatire_oji/clasament | Cod sursa (job #1105029) | Cod sursa (job #2204220) | Cod sursa (job #1598369)
#include <fstream>
bool cmmdc(int X, int Y)
{
while(X!=Y)
{
(X > Y) ? (X -= Y) : (Y -= X);
if(X==1 || Y==1)
return true;
}
return false;
}
int prim(int X)
{
int sum = 1, p = 0;
if(X%2==0)
p = 1;
for(int Y=2+p; Y<2*X; Y=Y+p+1)
if(cmmdc(X, Y)==true)
sum += Y;
return sum;
}
int main()
{
std::ifstream in("sum.in");
std::ofstream out("sum.out");
int N, X;
in>>N;
for(int i=0; i<N; i++)
{
in>>X;
out<<prim(X)<<std::endl;
}
return 0;
}