C语言输出所有的五角星
输出所有的"五角星"数,所谓"五角星"数是指一个五位正整数,其各位数字的五次方之和等于这个数字本身,把所有结果输出到磁盘文件myfile.dat中问题补充:请把相应的解题...
输出所有的"五角星"数,所谓"五角星"数是指一个五位正整数,其各位数字的五次方之和等于这个数字本身,把所有结果输出到磁盘文件myfile.dat中问题补充: 请把相应的解题思路和程序分析写出来,谢谢
展开
展开全部
用一个循环,从最小的五位数11111开始挨个数试验,直到最大的五位数99999,哪个符合条件了就把它写入指定的磁盘文件。
main()
{
long num;
int a,b,c,d,e;
FILE *fp;
fp=fopen("myfile.dat","wb");
for(num=11111;num<=99999;num++)
{
a=num/10000;
b=num%10000/1000;
c=num%1000/100;
d=num%100/10;
e=num%10;
if(a*a*a*a*a+b*b*b*b*b+c*c*c*c*c+d*d*d*d*d+e*e*e*e*e=num)
fprintf(fp,"%d",num);
}
fclose(fp);
}
main()
{
long num;
int a,b,c,d,e;
FILE *fp;
fp=fopen("myfile.dat","wb");
for(num=11111;num<=99999;num++)
{
a=num/10000;
b=num%10000/1000;
c=num%1000/100;
d=num%100/10;
e=num%10;
if(a*a*a*a*a+b*b*b*b*b+c*c*c*c*c+d*d*d*d*d+e*e*e*e*e=num)
fprintf(fp,"%d",num);
}
fclose(fp);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询