Pagini recente » Cod sursa (job #2356303) | Cod sursa (job #43838) | Cod sursa (job #2675031) | Cod sursa (job #489525) | Cod sursa (job #861635)
Cod sursa(job #861635)
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
FILE *f=fopen("ssnd.in","r");
FILE *g=fopen("ssnd.out","w");
int i,a,nr,n,v[80000];
void ciur()
{
int i,j;
bool ok;
n=1;
v[n]=2;
for(i=3;i<=100000;i+=2)
{
ok=1;
for(j=1;j<=n;j++)
if(i%v[j]==0){ok=0;break;}
if(ok) v[++n]=i;
}
}
void desc(int nr)
{
int i=0,dv=1,d;
int cnr=nr;
while(nr>1 && v[i]<sqrt(cnr))
{
i++;
d=1;
while(nr%v[i]==0){d++;nr/=v[i];}
dv*=d;
}
if(nr>1)dv++;
fprintf(g,"%d\n",dv);
}
int main()
{
ciur();
fscanf(f,"%d",&a);
for(i=1;i<=a;i++)
{
fscanf(f,"%d",&nr);
desc(nr);
}
fclose(g);
return 0;
}