Cod sursa(job #2383872)
| Utilizator | Data | 19 martie 2019 20:50:33 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int n,x;
void prim(int x)
{
int e=1,rez=1,s=1+x;
for(int d=2; d*d<=x; d++)
if(x%d==0)
{
s+=d;
if(d*d!=x)
s+=x/d;
e=1;
while(x%d==0)
{
e++;
x/=d;
}
rez*=e;
}
if(x>1)
rez*=2;
g<<rez<<' '<<s<<'\n';
}
int main()
{
f>>n;
for(int i=1; i<=n; i++)
{
f>>x;
prim(x);
}
return 0;
}
