1. 程式人生 > >求出0~999之間的所有“水仙花數”並輸出。 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。

求出0~999之間的所有“水仙花數”並輸出。 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。

程式

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	int i = 0;
	for(; i <= 999; i++)
	{
		int tmp = 0;
		int sum = 0;
		int count = 1;
		tmp = i//把i賦值給tmp
		while(tmp/10)//用while迴圈判斷有幾位數
		{
			count ++;//滿足條件,計數器++
			tmp /= 10;
		}
		tmp = i;//重新賦值
		while(tmp)//判斷i是否為水仙花數
{ sum += pow((tmp % 10), count);//pow函式,求一個數的次方,如輸入引數pow(3,3),即得27 tmp /= 10; } if(sum == i)//如果sum等於i,找到了,並且輸出 printf("%d ", i); } system("pause"); return 0; }