趣味演算法-水仙花數:
乙個n位正整數(n >= 3), 它的每個位上得數字的n次冪之和等於它本身。
1) 計算當前正整數的位數;
2) 計算每個位數上n次冪的和;
3) 判斷是否為水仙花數。
#include #include #include // 0: the number is not narcissus number
// 1: the number is narcissus number
int isnarcissusnum(int nnum)
ntmp = nnum;
while (ntmp/10 > 0)
nsum += nres;
}nres = pow(ntmp, n);
//for (i=0; i < n; i++)
//nsum += nres;
if (nsum == nnum)
else
return nres;
}int main()
}printf("test end \n");
scanf("%d", &i);
return 0;
}
演算法複雜度分析:
計算範圍 :nrange
當前數字數: n
o(nrange, n) = 2*n*nrange
小演算法 水仙花數
水仙花數是指乙個 n 位數 n 3 它的每個位上的數字的 n 次冪之和等於它本身。例如 1 3 5 3 3 3 153 初步 int nmax 9999999 int nresult 9999 int ncount 0 for int i 0 i nmax i else if i 100 else ...
求水仙花 ghpython 水仙花數02
今天咱們繼續來看看老潘微博裡的乙個python小案例,求水仙花數,這個小案例在前兩天已經分享了,今天分享另一種方法,常言道只要思想不滑坡,方法總比困難多,而且今天的方法個人覺得更pythonic一點。水仙花數 四葉玫瑰數 五角星數 由於2位數的自冪數不存在,這裡直接從100遍歷到100000 for...
水仙花數題解
水仙花數 3位數,其各位數字立方和為該數本身.include stdio.h void main int i,j,k,n 定義n的個位數為k,十位為j,百位為i printf narcissus numbers are for n 100 n 1000 n 使n從100 999迴圈 i n 100 ...