Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでの数字の美しい配置


美しいアレンジメント:

1からnumまでのnum個の整数があるとします。 美しいアレンジメントを定義します この配列のi番目の位置(1≤i≤N)に次のいずれかが当てはまる場合、これらのnum番号によって正常に構築される配列として-

  • i番目の位置の数値はiで割り切れます。

  • iはi番目の位置の数値で割り切れます。

問題

数値numを受け取り、numに対して作成できる美しい配置の数を返すJavaScript関数を作成する必要があります。

たとえば、関数への入力が-

の場合
const input = 2

その場合、出力は-

になります。
const output = 2

出力の説明

最初の美しいアレンジは[1,2]:

2番目の美しいアレンジメントは[2,1]です:

このためのコードは-

になります
const num = 4;
const countArrangements = (num = 1) => {
   let ans = 0
   const recur = (curr, vis) => {
      if (curr === 1){
         ans++;
      }else{
         for (let i = num; i; i--) {
            let possible = (i % curr === 0 || curr % i === 0);
            let visited = vis & 1 << i;
            if (possible && !visited){
               recur(curr-1, vis | 1 << i);
            }
         }
      }
   };
   recur(num, 0);
   return ans;
};
console.log(countArrangements(num));

コードの説明:

結果変数( ans )を定義します )次に、再帰関数を作成します 複数の分岐の可能性をナビゲートします。この再帰関数に必要な引数は2つだけです。現在配置しようとしている番号(curr)と、すでにアクセスしたスポット(vis)です。

出力

そして、コンソールの出力は-

になります
8

  1. JavaScript番号の例

    以下はJavaScriptの数字の例です- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>    body

  2. JavaScriptの数字に接尾辞を追加する

    問題 最初で唯一の引数として数値numを受け取るJavaScript関数を作成する必要があります。 この関数のタスクは、次のルールに従って、数値に「st」、「nd」、「rd」、「th」を追加することです。 stは、1で終わる数字で使用されます(例:1番目、最初に発音されます) ndは、2で終わる数字で使用されます(例:92番目、92番目と発音) rdは、3で終わる数字で使用されます(例:33番目、33番目と発音) 上記の規則の例外として、11、12、または13で終わるすべての「10」の数字は-thを使用します(たとえば、11番目、11番目と発音、112番目、100番目と発音) t