Pagini recente » Cod sursa (job #3005122) | Cod sursa (job #2819881) | Cod sursa (job #313863) | Cod sursa (job #651957) | Cod sursa (job #638906)
Cod sursa(job #638906)
#include <fstream>
using namespace std;
int main()
{
ifstream in ("ssnd.in");
ofstream out ("ssnd.out");
int i, d, j, n, x, v[1000]={0}, exp ,nrdiv=1, sdiv=1, ok, t, l;
in>>n;
for(i=1;i<=100;i++){
ok=1;
x=i*2+1;
if(x==1||x%2==0) ok=0;
else{
for(d=3;d<x/2&&ok==1;d+=2)
if(x%d==0) ok=0;}
if(ok==1) v[i]=1;}
v[0]=1;
for(i=1;i<=n;i++){
in>>x;
for(j=0;j<=(x-1)/2;j++){
if(v[j]==0) continue;
d=j*2+1;
if(j==0)d=2;
if(x%d==0){
exp=1;
l=d;
while(x%d==0){
exp++;
x=x/d;
l*=d;}
t=(l-1)/(d-1);
nrdiv=nrdiv*exp;
sdiv=sdiv*t;}
}
out<<nrdiv<<' '<<sdiv<<endl;
nrdiv=sdiv=1;
}
return 0;
}