觉得自幂数挺有意思,写了一个程序,自己分析了几遍,依然找不到问题。
/*************************
*Self power *
* by:ZCB*
*************************/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
int n = 0,a = 0,b = 0,c = 0,d = 0,num = 0,s = 0;
printf("请输入n的值。\n");
scanf("%d",&n);
int array[n];
a = pow(10,n - 1);
b = pow(10,n);
for(;a < b;a++)
{
num = a;
while(a > 0)
{
array[c] = a % 10;
a = a / 10;
c++;
}
for(;d < c;d++)
{
s = pow(array[d],n) + s;
}
if(s == num)
{
printf("%d\n",s);
}
a = num;
c = 0;
d = 0;
num = 0;
s = 0;
}
system("pause");
return 0;
}
运行时输入3或者7时会出现问题,得到的结果不正确。但输入1,2,4,5,6都是正确的结果,伤脑筋,不知道错在哪里。