Pagini recente » Cod sursa (job #2720607) | Cod sursa (job #2260086) | Cod sursa (job #2123584) | Cod sursa (job #2669694) | Cod sursa (job #946511)
Cod sursa(job #946511)
#include <fstream>
#include <cmath>
#define MAX_N
using namespace std;
int a[1000000],kr,i,j,x,n,e,nrdiv,v[1001],Max,sd,ce,p,cx;
bool ok;
int main ()
{ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>n;
for (i=1; i<=n; i++) {f>>v[i]; if (v[i]>Max) Max=v[i];}
kr=1; a[1]=2;
for (i=3; i<=Max; i=i+2) {
ok=true;
for (j=1; j<=sqrt(i*1.0); j++)
if (i%a[j]==0) ok=false;
if (ok==true) {kr++; a[kr]=i;}
}
for (j=1; j<=n; j++){
x=v[j]; nrdiv=1; sd=1;
for (i=1; a[i]*a[i]<=x && x>1; i++) {
e=0;
while (x%a[i]==0) {e++; x/=a[i];}
nrdiv=nrdiv*(e+1);
while (e!=0) {
ce=e; p=1;
while (ce!=0) {
p=p*a[i];
ce--;
}
sd=sd+p;
e--;
}
}
if (x>1) {nrdiv=nrdiv*(1+1); sd=sd+x; cx=x;
// while (x!=0) { ce=x; p=1; while(ce!=0) {p=p*cx; ce--;} sd=sd+p; x--; }
}
g<<nrdiv<<" "<<sd<<" "<<'\n';
}
return 0;
}