Cod sursa(job #273859)
Utilizator | Ilinca George Mihai 630r63 | Data | 9 martie 2009 09:48:46 |
---|---|---|---|
Problema | Suma divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<fstream>
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int divid(long a,long b)
{
while(a>b) a-=b;
return a;
}
int main()
{
long a,b,i;
long long int p=1,s=0;
f>>a>>b;
for(i=1;i<=b;i++) p*=a;
for(i=2;i+i<=p;i++) if(!(p%i))s+=i;
s+=1+p;
if(s<9901) g<<s;
if(s==9901) g<<"0";
if(s>9901) g<<divid(s,9901);
f.close();
g.close();
return 0;
}