判斷是否為水仙花數

2021-10-08 07:24:58 字數 1136 閱讀 2691

水仙花數是指乙個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。(例如:111 + 555 + 333 = 153

//獲取數字 (整數)

var inputnum =

prompt

('請輸入乙個整數');

// 獲取它是多少位

console.

log(inputnum.length)

;var leng = inputnum.length

// 定義和

var sum =0;

for(

var i =

0; i < leng; i++

)// 和

console.

log(sum);if

(sum == inputnum)

else

解析:

首先先獲取乙個數字,這裡的數字先限定為整數,但是不限制整數有多少位。

我們通過length方法獲取整數的長度,從而代替它的位數,用乙個變數接收

根據題目要求,水仙花的每一位的位數平方的和等於數本身,所以我們定義乙個和,給它賦值位0

我們要計算平方的和首先需要知道每一位分別是什麼數,然後找出其中的規律來做迴圈。

// 規律

// var wan = parseint(inputnum / 1e5 % 10);

// var qian = parseint(inputnum / 1e3 % 10);

// var bai = parseint(inputnum / 1e2 % 10);

// var shi = parseint(inputnum / 1e1 % 10);

// var ge = parseint(inputnum / 1e0 % 10);

// console.log(wan, qian, bai, shi, ge);

個 十 百 千…每一位遵循這樣乙個規律

該數分別除以1 10 100 1000…對10取餘數就可以得到每一位的值

這裡的1 10 100 1000… 用math.pow(10, i)方法表示,(與長度之間的關係)

取到每一位後就可以次方計算並求和。

得到和然後與數本身進行判斷即可求出水仙花數。

判斷水仙花數

在控制台輸出100 999 之間的水仙花數 如 只存在於百位數字之中,如果這個百位數字的百位的立方加上十位的立方加上各位的立方等於 當前這個百位數字的話,則這個數字為水仙花數。例 153就是乙個水仙花數,1 1 1 5 5 5 3 3 3 153 using system using system....

水仙花數判斷講解

今天要講解的這道題是水仙花數判斷 本題要求實現乙個函式,判斷任一整數是否為水仙花數 必須是三位數,且數的每一位上數字的立方和與數本身相等 例如153 13 53 3 3 1 125 27 153,而1或155則不是水仙花數。如果是水仙花數,則函式返回1,否則返回0.int func const in...

什麼是水仙花數並判斷水仙花數

題目 列印出所有的 水仙花數 所謂 水仙花數 是指乙個三位數,其各位數字立方和等於該數本身。例如 153是乙個 水仙花數 因為153 1 的三次方 5的三次方 3的三次方。public class lianxi03 水仙花數只是自冪數的一種,嚴格來說三位數的3次冪數才成為水仙花數。附 其他位數的自冪...