PR-通常長方形


質問する


長方形の紙があり、幅はWcm、長さはHcmです.紙には水平方向と垂直方向に平行なグリッド線があり、すべてのグリッドは1 cm x 1 cmの大きさです.1 cm(グリッドに沿って)× 1センチの正方形に切るつもりだったが、この紙を2つの対角線の頂点を結ぶ方向に切った人がいた.したがって、現在の矩形紙は、同じ大きさの2つの直角三角形に分かれています.新しい用紙が見つからないため、この用紙の横方向と縦方向は元の用紙と平行1 cmである× 1 cmに切って、使えるだけ使ってください.
横方向長さWと縦方向長さHが与えられた場合、使用可能な正方形の個数を求める解法関数を完了する.


WHresult81280

に答える

  • 対角線が通る単位正方形個数の式を参照した.リンク
  • wとhの最大公約数は,2つのうちより小さい数からforゲートの周りで求めた.
  • で求めた全矩形の個数はw*hであり、削除する矩形の個数は上記リンクの式からw + h - 최대공약수である.
  • コード#コード#

    function solution(w, h) {
        const wholeSquare = w * h;
        let gcd = 0;
    
        const min = Math.min(w,h);
        for(let i = min; i > 0; i--) {
            if(w%i === 0 && h % i === 0) {
                gcd = i;
                break;
            }
        }
    
        const deletedSqaure = w + h - gcd;
        return wholeSquare - deletedSqaure;
    }