js水仙花數,閏年,最大公約數

2022-09-13 18:21:10 字數 1550 閱讀 2196

1.水仙花數題目:

列印1000以內所有水仙花數1*

水仙花數是指乙個三位數,各位數的立方和等於這個數本身,例如153 = 1*1*1+5*5*5+3*3*3

思路:1.首先要確定這是乙個迴圈,次數是確定的,選擇for迴圈,每一次都需要判斷,for迴圈裡面要巢狀乙個if判斷

2.要用三個變數儲存,百位,十位,個位(這個題的重點就是獲取這三位數)

例子:百位 :391 /100 = 3.91;這裡需要乙個處理,把小數後面的全部捨去,我用js寫的,parseint(儲存百位的變數)這個方法就可以換取整數,小數全部捨去;

如果是j**a,可以直接把變數定義為int型別,就不需要考慮小數這個問題了,它直接就會取整數部分;

十位:391%100 = 91; 91/10 = 9;   ==>  391%100/10 = 9.1;處理小數問題同上;

個位:391%10  = 1;

**如下:

執行結果:

2.如何計算乙個年份是閏年還是平年

這個問題很簡單的,只需要明確如何計算閏年就可以了

1.年份能被4整數且不能被100整數;

2.年份能被400整除;

js**如下

執行結果:

這個問題應該是隨機輸入乙個年份,然後判斷是否為閏年,

如果是c語言,就把變數 a 換成乙個輸入(scanf)的值,然後賦值給a

如果是j**a ,輸入用scanner輸入就可以了,輸入是最基礎的,我就不獻醜了;

3.最大公約數的求法

求(a,b)兩個最大公約數

例如,求(319,377):

∵ 319÷377=0(餘319)

∴(319,377)=(377,319);

∵ 377÷319=1(餘58)

∴(377,319)=(319,58);

∵ 319÷58=5(餘29),

∴ (319,58)=(58,29);

∵ 58÷29=2(餘0),

∴ (58,29)= 29;

∴ (319,377)=29.

也就是說,求兩個數的最大公約數時,先用較大數除以較小數,

如果能整除,最大公約數就等於較小數;否則用較小數除以第一步的餘數,

如果能整除,最大公約數就等於第一步的餘數;

否則,用當前獲得的餘數除以上一步的餘數,直到能整除為止。

此時作為除數的那個數就是最開始那兩個數的最大公約數。

**如下:

最主要是while迴圈要好好理解一下,這是難點,自己可以在紙上寫寫

執行結果

最大公約數

1.執行最大公約數的常用演算法,並新增異常處理模組 如輸入非法等 在基礎程式的基礎上,可以考慮手動輸入所有數字或者利用隨機數產生數字,分別加入異常處理模組。注 隨機數的產生方法 srand 的作用是提供乙個種子。然後呼叫rand 其格式為int rand void 它會根據提供給srand 的種子值...

最大公約數

最大公因數 greatest common divisor 也稱最大公約數 最大公因子,指兩個或多個整數共有約數中最大的乙個。a,b的最大公約數記為 a,b 同樣的,a,b,c的最大公約數記為 a,b,c 多個整數的最大公約數也有同樣的記號。求最大公約數有多種方法,常見的有質因數分解法 短除法 輾轉...

最大公約數

求兩數的最大公約數 簡單嗎?簡單!用多種方法求,可以嗎?emmmmm.應該可以吧?相信絕大多數人都知道求最大公約數的如下 所示的這種方法 include includeint commondivisor int x,int y min return min int main 先判斷兩個數的大小,將較...