以 C++ 列印包含 K 位數字且數字根為 D 的數字


本文中,我們給出兩個數字 K 和 D。我們的任務是列印一個 k 位數字且數字根等於 D 的數字。

數字根是一個單位數,它是數字的各個數字遞迴相加的結果,直到得到一個單位數。也稱為數字和。

舉個例子來理解這個問題,

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

更新於:2020-01-27

88 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告