ご挨拶
このシリーズでは、Codewars の課題と私の思考プロセスを投稿しています。私は可能な限り JS と Node 18 を使用しています。明確にするために、私はそれらを公正に使用しています。
このシリーズの次の作品は「You're a Square!」です。ほら、あなたのレゴ中毒が少し手に負えなくなり、今は代替薬としてコーディングをしているのです。
いや、大丈夫ですか?次のタスクには正方形が含まれます。したがって、この問題は「この数字は正方形ですか?」に答えることを目的としています。では、どうやってこれに対処すればよいのでしょうか?しかし、私たちは望んでいます。他のコーディングの問題と同様に。
まず、それを解決します。その後、正しく解決してください。次に、正しく素早く解決してください。
私の最初の予感は私に次のようなことをもたらしました:
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(n−1) 2−(n−2)2 2
ウィキペディアに感謝します。しかし、これは
n^2 を検証するための式です。 nを検証するための数式が必要です。
そこで、以前のコードを修正します。
var isSquare = function(n){ let nIsSquare = false; if (n>=0) { let sqrt = Math.E ** ( Math.log(n) / 2 ); nIsSquare = Number.isInteger(sqrt); } return nIsSquare; }
を使用してください。
var isSquare = function(n){ let nIsSquare = false; if (n>=0) { nIsSquare = Number.isInteger(Math.sqrt(n)); } return nIsSquare; }
さようなら。水を飲みましょう???
前
以上がCodewars - あなたは正方形です!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。