首頁 > web前端 > js教程 > Codewars - 你是一個方塊!

Codewars - 你是一個方塊!

Linda Hamilton
發布: 2025-01-03 03:05:39
原創
676 人瀏覽過

問候。

Codewars - You

我在這個系列中發布了 Codewars 挑戰和我的思考過程。我盡可能使用 JS 和 Node 18。只是為了清楚起見,我正在合理地使用它們。

本系列的下一篇是「你是個正方形!」。看,你的樂高癮有點失控了,你現在正在編碼作為替代藥物。

Codewars - You

嗯,你還好嗎?你的下一個任務涉及正方形。所以問題尋求回答「這個數字是平方嗎?」。那麼,我們該如何解決這個問題呢?然而我們渴望。與任何編碼問題一樣。

首先,解決它。然後,正確解決。然後,正確快速地解決它。

  1. 第 1 步:犯錯

我的第一直覺引導我這麼做:

var isSquare = function(n){
  let nIsSquare = false;
  if (n>=0) {
      nIsSquare = ( n ** 2 ) == 2 * ( (n - 1) ** 2 ) - ( (n-2) ** 2 ) + 2;
  }
  return nIsSquare;
}
登入後複製

這是錯的。我跟一起去了 n2 =2(n1 )2(n22 n^2 = 2(n − 1)^2 − (n − 2)^2 2n22222=2(n−1)1) 2(n−2)2


var isSquare = function(n){

  let nIsSquare = false;
  if (n>=0) {
     let sqrt = Math.E ** ( Math.log(n) / 2 );
     nIsSquare = Number.isInteger(sqrt);
  }

  return nIsSquare;
}
登入後複製


Codewars - You

  1. 2
  2. 感謝維基百科。但這是驗證
n^2

的公式。我需要一個公式來驗證
n

.
var isSquare = function(n){
  let nIsSquare = false;
  if (n>=0) {
     nIsSquare = Number.isInteger(Math.sqrt(n));
  }
  return nIsSquare;
}
登入後複製

第 2 步:正確執行更多錯誤 在另一篇維基百科文章中,有一種簡潔、簡潔的方法來計算平方根:指數恆等式。 所以我們修復了先前的程式碼: Annnnnnnnnnnnnd: 哦,來吧。為什麼會失敗?哦。 JavaScript 對浮點數做了一些奇怪的事。所以,這不是程式碼的錯。正確的?猜猜我們永遠不會知道。即便如此,我還是愛你,JS。你這個古怪的混蛋。 第三步:正確快速地做 只要使用 Math.sqrt(): 不是最好的,而是最簡單的解決方案。做這份工作。 再見。喝水???.

上一頁

以上是Codewars - 你是一個方塊!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板