//9105982 ylwh 1142 Accepted 164K 16MS C 573B 2011-08-08 10:16:10
//2619082 2011-08-08 10:15:46 Accepted 1133 C 20 160 ylwh!
#include <stdio.h>
int fun(int x)
{
int sum=0;
while(x)
{
sum += x % 10;
x /= 10;
}
return sum;
}
int primer(int x)
{
int i, temp, sum=0, sn=x;
for(i=2; i*i<=x; i++)
{
if(x % i == 0)
{
temp = fun(i);
while(x % i == 0)
sum += temp, x /= i;
}
}
if(sn == x)
return -1;
if(x != 1)
sum += fun(x);
return sum;
}
int main(void)
{
int n;
while(scanf("%d", &n), n)
{
for(n++; ; n++)
if(fun(n) == primer(n))
break;
printf("%d\n", n);
}
return 0;
}
ZOJ 1133 & POJ 1142 Smith Numbers
最新推荐文章于 2021-02-17 13:26:15 发布