以 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
广告