Pagini recente » Cod sursa (job #3285955) | Cod sursa (job #2951315) | Cod sursa (job #567333) | Cod sursa (job #2796849) | Cod sursa (job #942135)
Cod sursa(job #942135)
#include <fstream>
#include <limits>
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
void sumeaza(long x);
int cmmdc(int a,int b);
int main()
{
int n,c;
in>>n;
in.ignore(numeric_limits<streamsize>::max(),'\n');
for(int i=0;i<n;++i)
{
in>>c;
in.ignore(numeric_limits<streamsize>::max(),'\n');
sumeaza(c);
}
in.close();
out.close();
return 0;
}
void sumeaza(long x)
{
long sum=0;
if (x%2==0)
{
for(int i=1;i<x*2;i+=2)
{
if (cmmdc(x,i)==1) sum+=i;
}
}
else
{
for(int i=1;i<x*2;++i)
{
if (cmmdc(x,i)==1) sum+=i;
}
}
out<<sum<<"\n";
}
int cmmdc(int a,int b)
{
int r;
while (b)
{
r=a%b;
a=b;
b=r;
}
return a;
}