Pagini recente » Cod sursa (job #1044249) | Cod sursa (job #154819) | Cod sursa (job #541677) | Cod sursa (job #3224357) | Cod sursa (job #356289)
Cod sursa(job #356289)
Utilizator |
Marian S eu93 |
Data |
14 octombrie 2009 00:50:22 |
Problema |
GFact |
Scor |
45 |
Compilator |
cpp |
Status |
done |
Runda |
CNRV #2 |
Marime |
0.56 kb |
#include <fstream.h>
#include <iostream.h>
int v[45000],w[45000];
int main()
{ int p,k=0,d=2,i,ok,ok2,y;
long x;
ifstream f ("gfact.in");
ofstream g ("gfact.out");
f>>x>>p;
while (x!=1) {
while (x%d==0) {
x=x/d;
k++;}
if (k>0) v[d]=k*p;
d=d+1;
k=0;
}
y=2; d=2; ok=0;
while (ok==0) {x=y; d=2;
while (x!=1) {
while (x%d==0) {
x=x/d;
k++;}
if (k>0) w[d]+=k;
d=d+1;
k=0;
}
ok2=1;
for (i=1;i<=44999;i++)
if (v[i]>0 && v[i]>w[i]) ok2=0;
if (ok2==1) ok=1;
else y++;
}
g<<y;
f.close();
g.close();
return 0;
}