1. 程式人生 > 其它 >輸入一個數,計算這個數內的所有水仙花

輸入一個數,計算這個數內的所有水仙花

所謂的“水仙花數”是指一個三位數其各位數字的立方和等於該數本身
由此我們可以用%的方式計算出每一位的值。
這裡面需要引入一個數學函式庫 #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; }