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

ラッキーナンバー


ラッキーナンバーはいくつかの特別な整数です。基本番号から、いくつかの特別な番号はそれらの位置によって削除されます。それらの値の代わりに、それらの位置については、数字が削除されます。削除されていない数字はラッキーナンバーです。

番号の削除はいくつかの規則に従います。最初は1つおきの番号が削除され、その後3つ目の番号がすべて削除されます。

ここにいくつかの例があります-

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (1 – 25 all)
1 3 5 7 9 11 13 15 17 19 21 23 25 (deleting all 2nd numbers)
1 3 7 9 13 15 19 21 25 (All 3rd numbers are deleted, starting from 5)
1 3 7 9 13 15 21 25 (All 7th numbers are deleted starting from 19)

入力と出力

入力:それが幸運であるかどうかを確認するために数字を入れてください。数字を13としましょう出力:13はラッキーナンバーです。

アルゴリズム

isLuckyNumber(number)

入力- 数字。

出力- 番号がラッキーかどうかを確認してください。

Begin
   counter := 2 (It is static data, not be initialized again in recursion call)
   if counter > n, then
      return 1
   if n mod counter = 0, then
      return 0
   n := n – (n / counter)
   counter := counter + 1
   isLuckyNumber(n)
End

#include <iostream>
using namespace std;

int counter = 2;    //used during recursion

bool isLuckyNumber(int n) {
   if(counter > n)
      return 1;
   if(n%counter == 0)
      return 0;
   
   n -= n/counter;    //n will be next position for recursion
   counter++;
   return isLuckyNumber(n);
}

int main() {
   int x = 13;

   if(isLuckyNumber(x))
      cout << x<<" is a lucky number.";
   else
      cout << x<<" is not a lucky number.";
}

出力

13 is a lucky number.

  1. C++でのデュードニー番号

    与えられた数の底の数理論で定義された数は、最初の自然数の桁の合計が2番目の数の桁の合計に等しくなるように、別の自然数の完全な3乗に等しい自然数です。 (ウィキペディア)。 番号はヘンリー・デュードニーによって発見されました 。その数式 は- ここでは、整数nが与えられます。私たちの仕事は、与えられた番号nが人物番号であるかどうかを確認することです。 問題を理解するために例を見てみましょう 入力: N =17592 出力: いいえ 説明: 与えられた番号はダドニー番号ではありません。 ソリューションアプローチ- 解決策は、デュードニー番号の基本的な定義にあります。

  2. Pythonの乱数

    説明 Pythonには、乱数を生成するための関数がほとんどありません。これらは、生成するために乱数が必要な多くのゲームや宝くじなどで使用できます。 乱数を生成する関数がいくつかあります- choice() この関数を使用して、数値のコレクションから1つの乱数を生成できます。 例 print (A random number from list : ,end=) print (random.choice([1, 4, 6, 100, 31])) 出力 A random number from list : 100 randrange(beg、end、step) この関数は