Pagini recente » Cod sursa (job #1240529) | Cod sursa (job #200275) | Cod sursa (job #449985) | Cod sursa (job #305326) | Cod sursa (job #1374968)
#include <fstream>
#include <cmath>
using namespace std;
unsigned long long nrdivizori(unsigned long long a)
{
unsigned long long d,s=1,k=0;
while(a%2==0)
{
a/=2;
k+=1;
}
s*=(k+1);
d=3;
while(a>1)
{
k=0;
while(a%d==0)
{
a/=d;
k+=1;
}
s*=(k+1);
d+=2;
}
return s;
}
unsigned long long suma(int a)
{
unsigned long long d=2,s=1+a,k;
k=sqrt(a);
while(d<=k)
{
if(a%d==0)
{
s+=d+a/d;
s%=9973;
}
d+=1;
}
return s;
}
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
unsigned long long n,i,a;
f>>n;
// g<<n<<" ";
for(i=1;i<=n;i++)
{
f>>a;
g<<nrdivizori(a)<<" "<<suma(a)<<'\n';
}
f.close();
g.close();
return 0;
}