Cod sursa(job #1679748)
| Utilizator | Data | 8 aprilie 2016 10:48:37 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int T,i,n,s,nrdiv,j;
int eprim(int nr)
{
int i;
for(i=2;i<=sqrt(nr);++i)
if(nr%i==0)return 0;
return 1;
}
int main()
{
fin>>T;
for(i=1;i<=T;++i)
{
fin>>n;s=1+n;;nrdiv=2;
if(eprim(n)){s=1+n;nrdiv=2;}
else
{
for(j=2;j<=n/2;j++)
if(n%j==0){s=s+j;nrdiv++;}
}
fout<<nrdiv<<' '<<s<<'\n';
}
return 0;
}
