Cod sursa(job #1129780)
| Utilizator | Data | 28 februarie 2014 09:18:38 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
int n;
scanf("%d",&n);
long long int s;
for(int i=1;i<=n;i++)
{
scanf("%lld",&s);
long long int sum=1+s;
int div=2;
for(int j=2;j<sqrt(s);j++)
{
if(s%j==0)
{
div+=2;
sum+=j;sum+=s/j;
}
}
float x=s;
if(sqrt(x)==sqrt(s)) div++,sum+=sqrt(s);
printf("%d %lld\n",div,sum);
}
return 0;
}
