2020-09-09 條件循環(huán)案例

for循環(huán)作業(yè)

第四題:用戶輸入一個數(shù)字n,計算1+2+3+4+……n的和。

??????? //?let?n?=?parseInt(prompt("請輸入一個數(shù)字"))

????????//?let?sum?=?0

????????//?for(let?i?=?1;?i?<=?n;?i++){

????????//?????sum?+=?i

????????//?}

????????//?alert(`1+2+3+...+n的和為${sum}`)

第五題:用戶輸入一個數(shù)字n

??????? //?let?n?=?parseInt(prompt("請輸入一個數(shù)字"))

????????//?let?sum?=?0

????????//?for(let?i?=?2;?i?<=?n;?i++){

????????//?????sum?+=?(i+1)?/?i

????????//?}

????????//?alert(`3/2+4/3+5/4+...+n+1/n的和為${sum}`)

第六題:用戶輸入一個數(shù)字,在控制臺中列出它的所有約數(shù)。

??????? //@1?正序求解

????????//?var?n?=?parseInt(prompt("請輸入一個數(shù)字"));

????????//?var?sum?=?0;

????????//?for(var?i?=?1?;?i?<=?n?;i++){

????????//?????if(n%i?==?0){

????????//?????????console.log(i);

????????//?????????sum?+=?i;

????????//?????}

????????//?}

????????//?alert(`${n}所有約數(shù)的和為${sum}`)


????????//@2?倒序循環(huán)求解

????????//?let?n?=?parseInt(prompt("請輸入一個數(shù)字"));

????????//?for(i?=?n?;?i?>=?1?;?i--){

????????//??if(n?%?i?==?0){??????????

????????//??????console.log(i);

????????//??}

????????//?}

第七題:在控制臺輸出1~1000之中,所有能被5整除,或者被6整除的數(shù)字。

????????//?for(let?i?=?1;?i?<=?1000;?i++){

????????//?????let?num1?=?i?%?5

????????//?????let?num2?=?i?%?6

????????//?????if(num1?+?num2?==?0){

????????//?????????console.log("既能被5整除,也能被6整除的有:"?+?i)

????????//?????}else?if(num1?==?0){

????????//?????????console.log("能被5整除的有:"?+?i)

????????//?????}

????????//?????else?if(num2?==?0){

????????//?????????console.log("能被6整除的有:"?+?i)

????????//?????}

????????//?}

方法二:

????//?for?(var?i?=?1;?i?<=?1000;?i++)?{

????//???if?(i?%?5?==?0?||?i?%?6?==?0){

????//?????console.log(i)

????//?}


第八題:大家從小到大,都玩兒過的一個庸俗的游戲:

游戲玩兒法就是,大家輪流報數(shù),如果報到能被7整除的數(shù)字,或者尾數(shù)是7的數(shù)字,都算踩地雷了。就應該罰唱歌。

請在控制臺輸出1~60之間的所有“安全數(shù)”。

比如:

1、2、3、4、5、6、8、9、10、11、12、13、15、16、18、19、20、22、23、24、25、26、29、30……

????????//?for(let?i?=?1;?i?<=?60;?i++){

????????//?????if(i?%?10?!=?7?&&?i?%?7?!=?0){

????????//?????????console.log("安全數(shù)為:"?+?i)

????????//?????}

????????//?}

????????//?短路算法

?????? //?for(var?i?=?1;?i?<=?60;?i++){

?? ??? //???(i?%?7?!=?0?&&?i?%?10?!=?7)?&&?console.log(i)

?????? //?}

第九題:水仙花數(shù)是一種特殊的三位數(shù),它的特點就是,每個數(shù)位的立方和,等于它本身。

比如153就是水仙花數(shù)。因為:

1?3+53+33?= 153

100~999之內,只有4個水仙花數(shù),請編程找出來。

????????//?for(let?i?=?1;?i?<=?9;?i++){

????????//?????for(let?j?=?9;?j?>=?0;?j--){

????????//?????????for(let?k?=?9;?k?>=?0;?k--){

????????//?????????????let?sum?=?Math.pow(i,3)?+?Math.pow(j,3)?+?Math.pow(k,3)

????????//?????????????let?res?=?100?*?i?+?10?*?j?+?k

????????//?????????????if(sum?==?res){

????????//?????????????????console.log(res)

????????//?????????????}

????????//?????????}

????????//?????}

????????//?}

第十題:如果一個數(shù)恰好等于它的因數(shù)(除了這個數(shù)字自身)之和,則稱該數(shù)為“完美數(shù)”。

例如:

第1個完全數(shù)是6,它有因數(shù)1、2、3、6,除去它本身6外,其余3個數(shù)相加,1+2+3=6。

第2個完全數(shù)是28,它有因數(shù)1、2、4、7、14、28,除去它本身28外,其余5個數(shù)相加,1+2+4+7+14=28。

試尋找1~10000之間的所有完美數(shù)。

????????//第十題:除去本身外的因數(shù)相加等于本身的完美數(shù)

????????//?for(var?i?=?1;?i?<=?10000;?i++){

????????//?????var?sum?=?0;

????????//?????for(var?j?=?1;?j?<?i;?j++){

????????//?????????if(i?%?j?==?0){

????????//?????????????sum?+=?j

????????//?????????}

????????//?????}

????????//?????if(sum?==?i){

????????//?????????console.log(i?+?"是完美數(shù)")

????????//?????}

????????//?}

第十一題:蘋果3元一個,鴨梨2元一個,桃子1元一個?,F(xiàn)在想用200元買100個水果,在控制臺中列出所有可能性。

????????//?let?count?=?0

????????//?for(let?i?=?100;?i?>=?0;?i--){

????????//?????for(let?j?=?100?-?i;?j?>=?0;?j--){

????????//?????????for(let?k?=?100?-?i?-?j;?k?>=?0;?k--){

????????//?????????????let?sum?=?i?+?j?+?k

????????//?????????????let?res?=?3?*?i?+?2?*?j?+?k

????????//?????????????if(sum?==?100?&&?res?==?200){

????????//?????????????????count++

????????//?????????????????console.log(count)?//51種可能

????????//?????????????????console.log("可能性有:"?+?i?+?"個蘋果"?+?j?+?"個梨"?+?k?+?"個桃子")

????????//?????????????}

????????//?????????}

????????//?????}

????????//?}

方法一
方法二

方法三

第十二題:用戶輸入一個數(shù)字,判斷這個數(shù)字是否是質數(shù)。

????????//第十二題:判斷一個數(shù)是否是質數(shù)

??????? //方法一

????????let?n?=?parseInt(prompt("請輸入一個數(shù)字"))

????????if(n?==?2?||?n?==?3){

????????????alert(`${n}是質數(shù)`)

????????}else?if(n?<=?1?||?n?%?2?==?0){

????????????alert(`${n}不是質數(shù)`)

????????}else{?

????????????for(let?i?=?3;?i?<=?Math.sqrt(n);?i?+=?2){

????????????????if(n?%?i?==?0){

????????????????????alert(`${n}不是質數(shù)`)

????????????????????end;?//滿足循環(huán)條件則直接結束,不滿足則結束判斷

????????????????}

????????????}

????????????alert(`${n}是質數(shù)`)

????????}

????????//1-50的質數(shù)有:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47

方法一


方法二


方法

????????????????????????????????????????????????????????? 注意:if判斷條件的優(yōu)先級

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容