#include <stdio.h> #include <math.h> int main(){ int i=0; for (i = 0; i <1000 ;i ++) { int sum=0; int temp=0; int count=1; //水仙花判断即若若为n位数,则每一位的n次方和为此数,即为水仙花数 //计算n的位数 //因为每次防止i的值不正确,所以将每次的i放入临时变量里面 temp=i; while(temp/=10){ count++; } //此时只计算了位数,接下来计算其每位n次方的和,同上,依然将i放入temp中 temp=i; while(temp){ sum+=pow(temp%10,count); temp/=10; } if(i==sum){ printf("%d ",i); } } return 0; }
计算0到999的水仙花数
最新推荐文章于 2024-07-18 19:36:20 发布