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

C++で数字根Dを使用してK桁を含む数値を出力します


この問題では、KとDの2つの数値が与えられます。私たちのタスクは、数字根がDに等しいk桁の数値を出力することです。

数字根 は、1桁の数値に達するまで、数値の桁を再帰的に加算した結果である1桁の値です。デジタル合計とも呼ばれます。

問題を理解するために例を見てみましょう

Input: D = 5 , K = 6
Output: 60000

この問題を解決するために、数値Dの後にゼロの試行を使用します。数値は {D000 ..(k-1回)}になります。 。これは私たちの問題に対するシンプルでエレガントな解決策であり、それほど複雑ではありません。

ソリューションの実装を示すプログラム

#include <bits/stdc++.h>
using namespace std;
void printKdigitNumber(int k, int d) {
   if (d == 0 && k != 1)
      cout << "-1";
   else {
      cout << d;
      k--;
      while (k--)
         cout << "0";
   }
}
int main() {
   int K=6, D=5;
   cout<<K<<" digit number with digital Root = "<<D<<" is : ";
   printKdigitNumber(K, D);
   return 0;
}

出力

6 digit number with digital Root = 5 is : 500000

  1. ブラケット番号をC++で印刷する

    この問題では、表現が与えられます。そして、括弧番号のシーケンスを印刷する必要があります。問題をよりよく理解するために例を見てみましょう。 例、 Input : ((()())()) Output : 1233442551 説明 −ここでは、5つのブラケットのペアに遭遇し、それらを[出現]の順序で印刷しました。 問題がわかったので、このソリューションのソリューションを作成しましょう。 この問題を解決するには、スタックデータ構造が必要です。左角かっこ数のカウントを保持する1つの変数を使用し、スタックは右角かっこを追跡します。左角かっこを数えてスタックに押し込み、右角かっこが見つかったらポッ

  2. 数字が7のみで、C++で合計が与えられた最小数

    問題の説明 ラッキーナンバーは、小数表現にラッキー数字4と7のみが含まれる正の整数です。タスクは、数字の合計がnに等しい最小のラッキーナンバーを見つけることです。 例 合計=22の場合、ラッキーナンバーは4 + 4 + 7 + 7=22として4477です アルゴリズム 1. If sum is multiple of 4, then result has all 4s. 2. If sum is multiple of 7, then result has all 7s. 3. If sum is not multiple of 4 or 7, then we can subtract