ホームページ > ウェブフロントエンド > jsチュートリアル > Codewars - キューブの山を構築する

Codewars - キューブの山を構築する

Patricia Arquette
リリース: 2025-01-07 08:32:39
オリジナル
575 人が閲覧しました

ご挨拶

Codewars - Build a pile of Cubes

このシリーズでは、Codewars の課題と私の思考プロセスを投稿しています。私は可能な限り JS と Node 18 を使用しています。明確にするために、私はそれらを公正に使用しています。

次は、数学が苦手な私たちにとっては難しい問題です。でも、それは素晴らしい挑戦です。本質的には、「n」個の立方体の合計を計算することになります。それから、黒魔術 (別名: 代数) さあ、!解決しました。

立方体の和を証明とともに説明します。

完全な解決策:

function findNb(m) {

  // sum of n cubes = ( n^2 * (n+1)^2 ) / 4

  let number = m * 4;
  number = number ** (1/2);
  let numberAux = number ** (1/2);
  let floor = Math.floor(numberAux);
  let ceiling = (Number.isInteger(numberAux)) ? floor + 1 : Math.ceil(numberAux);
  if ( floor * ceiling == number ){
    return floor;
  }
  return (-1);
}
ログイン後にコピー

なぜ床と天井を計算するのでしょうか?なぜなら、引数 m が実際に "n" 個の立方体の合計を表す場合、numberAux は部分的に探している数値になるからです。必要なのは整数部分だけです。それは「ん」です。それは床でもあります。

「m」が立方体の合計を表さない場合、関数は -1 を返します。大したことはありません。

それは機能します。ただし、半年後の私が何かを理解できるかどうかはわかりません。

気をつけてね。水を飲みましょう???

以上がCodewars - キューブの山を構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート