輸入一個數,計算這個數內的所有水仙花
阿新 • • 發佈:2021-01-12
所謂的“水仙花數”是指一個三位數其各位數字的立方和等於該數本身
由此我們可以用%的方式計算出每一位的值。
這裡面需要引入一個數學函式庫 #include<math.h>
#include <stdio.h>
#include <math.h>
int main()
{
int input=0;
int i=0;
printf("輸入數值:");
scanf("%d",&input);
for(i=0;i<=input;i++)
{
//判斷i是否為水仙花數(自冪數)
int sum=0;
int temp=i;
int n=1;
//計算出有幾位數,用n來統計
while(temp/=10)
{
n++;
}
//上面n統計完之後,要將temp重新賦值i,避免發生錯誤
temp=i;
//計算i每一位的n次方之和 使用sum來統計
while(temp)
{
sum+=pow(temp%10,n);
temp/=10;
}
//比較是否相同
if(i==sum)
{
printf("%d ",i);
}
}
return 0;
}