|
Radbug
SUPREME DRINKER

| Joined: 16 Oct 2009 |
| Posts: 17 |
|
|
 |
#include <iostream.h>
#include <fstream.h>
int main ()
{
ifstream fin("smith.in");
ofstream fout("smith.out");
unsigned long S,x,d,Sd,Sp,prim,y,gasit,min,n;
double rad;
{
fin>>n;
N=0;
min=1;
while (n>0)
{
N=N*10+9;
min=min*10;
n=n-1;
}
min=min/10;
gasit=0;
while((!gasit)&&(N >=min)
{
fin>>N;
prim=1;
if(N%2==0)
prim=0;
else
{
d=3;
rad=sqrt(N);
while(d<=rad && N%d!=0)
d=d+2;
if (d<=rad)
prim=0;
}
if (prim==0)
{
x=N;
S=0;
while(x>0)
{
S=S+x%10;
x=x/10;
}
x=N;
d=2;
Sp=0;
while (x>1)
{
if (x%d==0)
{
y=d;
Sd=0;
while (y>0)
{
Sd=Sd+y%10;
y=y/10;
}
while (x%d==0)
{
x=x/d;
Sp=Sp+Sd;
}
}
d++;
}
if (S==Sp)
fout<<"DA";
else
fout<<"NU";
}
if (S==Sp)
fin.close();
fout.close();
return 0;
} |
|
|
|