第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

沒有停止條件的for循環(huán)?

沒有停止條件的for循環(huán)?

波斯汪 2022-10-21 10:51:28
我剛剛完成了 FreecodeCamp.com 測(cè)驗(yàn)中間算法腳本:最小公倍數(shù)。代碼對(duì)于他們給出的測(cè)試用例(和)運(yùn)行良好[1, 5],但如果我使用更大的范圍,我還必須編輯代碼并增加-loop 的停止條件,當(dāng)我從循環(huán)中刪除停止條件時(shí),它給出了一個(gè)錯(cuò)誤。[5, 1] [23, 18][1, 13]forfunction smallestCommons(arr) {  arr.sort((a, b) => a - b);  const creatArray = (start, stop, step) =>    Array.from(      { length: (stop - start) / step + 1 },      (_, i) => start + i * step    );  let myArray = creatArray(arr[0], arr[arr.length - 1], 1);  for (let i = myArray[myArray.length - 1]; i < 10000000; i++) {    if (myArray.every((e) => calback(e, i))) {      return i;    }  }}let calback = (elem, e) => e % elem === 0;console.log(smallestCommons([1, 5]));這段代碼有什么簡(jiǎn)單的修復(fù)嗎?我的解決方案是有效的還是有更好的方法來解決這個(gè)問題?謝謝
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

將解釋一些代碼;我們首先要做的是對(duì)數(shù)組進(jìn)行排序,因?yàn)樗且粋€(gè)由兩個(gè)數(shù)字組成的數(shù)組,在對(duì)它進(jìn)行排序之后,我們需要?jiǎng)?chuàng)建一個(gè)新數(shù)組來存儲(chǔ)從第一個(gè)元素到第二個(gè)元素的路徑;我們定義最大和最小數(shù)字之間的差,以便在我們存儲(chǔ)路徑后創(chuàng)建一個(gè)存儲(chǔ)路徑;我們定義了兩個(gè)函數(shù)來求大公約數(shù)和最小公倍數(shù);之后我們使用 reduce 來獲得 LCM 的 Value。希望這對(duì)你有幫助,gcd的算法是基于歐幾里得劃分


function smallestCommons(arr) {

  arr = arr.sort((a,b)=>a-b)

  let newarr = []

  let dif = arr[1]-arr[0]

  for(let i=0; i<= dif;i++){

        newarr.push(arr[0]+i)

  }

  const gcd = (a,b)=>a?gcd(b%a,a):b;

  const lcm = (a,b)=> a/gcd(a,b)*b

  return newarr.reduce(lcm);

}


console.log(smallestCommons([1, 5]));

console.log(smallestCommons([90,10]));


查看完整回答
反對(duì) 回復(fù) 2022-10-21
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)