出现运行超时 希望可以在原代码上修改
#include
#include
int main()
{
int N,number=1,j=2,sum=0;
scanf("%d",&N);
number=pow(10,N-1);
int i=number;
while(i10)
{
sum = 0;
int t = i;
do
{
int d = t % 10;
t/=10;
sum += pow(d,N);
}while(t>0);
if(sum==i)
{
printf("%d\n",sum);
}
i++;
}
return 0;
}
改动处见注释,供参考:
#include <stdio.h>
#include <math.h>
int main()
{
int N, number = 1, j = 2, sum = 0;
scanf("%d", &N);
number = pow(10, N - 1);
int i = number;
while (i < number * 10)
{
sum = 0;
int t = i;
do
{
int d = t % 10;
t /= 10;
int k = N, kk = 1;//修改
while (k--) kk *= d;//修改
sum += kk; //pow(d, N);
} while (t > 0);
if (sum == i)
{
printf("%d\n", sum);
}
i++;
}
return 0;
}
什么是水仙花数 咋看你这计算量很大