趣味演算法 水仙花數

2021-06-03 08:53:25 字數 705 閱讀 9293

趣味演算法-水仙花數:

乙個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 ...