以 C++ 尋找被 D 整除的 N 位數


假設我們有兩個數字 N 和 D。我們必須找到 N 位數,它可以被 D 整除。如果 N 為 3,D 為 5,則數字可以為 500。這可以輕鬆解決。如果 D 為 10,N 為 1,則不可能。我們可以放置 D,假設 D 有 m 個數字,然後附加 N - m 個 0,使其成為 N 位數並可以被 D 整除。

示例

#include<iostream>
using namespace std;
string nDigitDivByD(int n, int d) {
   string ans = "";
   if (d < 10) {
      ans += to_string(d);
      for (int i = 1; i < n; i++)
      ans += "0";
   }
   else {
      if (n == 1)
         return "Cannot find any number";
      else {
         string temp = to_string(d);
         ans += to_string(d);
         for (int i = 0; i < n-temp.length(); i++)
         ans += "0";
      }
   }
   return ans;
}
int main() {
   int n = 5, d = 15;
   cout << nDigitDivByD(n, d);
}

輸出

15000

更新於: 01-Nov-2019

128 瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.