C ++中可被给定三个数字整除的最大N位数字
在本教程中,我们将编写一个程序来查找可被给定三个数字整除的最大n位数字。
让我们看看解决问题的步骤。
与n一起初始化三个数字。
找出三个数字的LCM。
用n位存储最大的数字。
如果最大数可以被n整除,则返回它。
否则检查从上述步骤中减去余数获得的数字。
示例
让我们看看代码。
#include输出结果using namespace std; int LCM(int x, int y, int z) { int ans = ((x * y) / (__gcd(x, y))); return ((z * ans) / (__gcd(ans, z))); } int findNumber(int n, int x, int y, int z) { int lcm = LCM(x, y, z); int largestNDigitNumber = pow(10, n) - 1; int remainder = largestNDigitNumber % lcm; if (remainder == 0) { return largestNDigitNumber; } largestNDigitNumber -= remainder; if (largestNDigitNumber >= pow(10, n - 1)) { return largestNDigitNumber; } return 0; } int main() { int n = 4, x = 6, y = 7, z = 8; int result = findNumber(n, x, y, z); if (result != 0) { cout << result << endl; }else { cout << "Not possible" << endl; } return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
9912
结论
如果您对本教程有任何疑问,请在评论部分提及。
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志