Pagini recente » Cod sursa (job #426746) | Joc pe grid | Cod sursa (job #630566) | Cod sursa (job #1055944) | Cod sursa (job #27568)
Cod sursa(job #27568)
#include<stdio.h>
long int x,n,s,i,j,max,k,prim[300],y[300];
long int prime(long int n) //generz numerele prime pana la n
{ int i,k=5,a;
prim[1]=1; prim[2]=2; prim[3]=3; prim[4]=5; prim[5]=7;
for(a=11;a<=n;a+=2)
for(i=1;i<k;i++)
if(a%prim[i])prim[++k]=a;
prim[0]=k;
return 0;
}
int main()
{ FILE *f,*g;
f=fopen("sum.in","r");
fscanf(f,"%ld",&n);
fscanf(f,"%ld",&max);
for(i=1;i<n;i++)
{ fscanf(f,"%ld",&x);
if(x>max) max=x;
}
fclose(f);
prime(max);
f=fopen("sum.in","r");
fscanf(f,"ld",&n);
for(i=1;i<=n;i++)
{ fscanf(f,"%ld",&x);
k=1;y[1]=1;
for(i=2;x>prim[i];i++)
if(x%prim[i]) y[++k]=prim[i];
for(i=1;i<=k;i++)
for(j=1;j<=i;j++)
if(y[i]*y[j]<x) s+=y[i]*y[j];
else break;
fprintf(g,"%ld\n",s);
}
fcloseall();
return 0;
}