判断能否被3,5,7整除c++
时间: 2024-09-16 19:01:55 浏览: 72
1.4.9判断能否被3,5,7整除.cpp
5星 · 资源好评率100%
在C++中判断一个数能否被3、5、7同时整除,你可以编写一个函数,检查这个数是否可以被这三个数的最大公约数整除。因为如果一个数能被3、5、7中的任意两个数整除,那么它一定能被它们的最大公约数整除。
首先,你需要找到3、5、7的最大公约数(GCD)。C++中可以使用辗转相除法(欧几里得算法)来计算最大公约数。然后,检查给定的数是否能被GCD整除:
```cpp
#include <iostream>
#include <math.h> // 引入math库以获取gcd函数
// 计算最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
bool isDivisibleByThreeFiveSeven(int num) {
int lcm = 3 * 5 * 7; // 找到最小公倍数,这里直接乘以三个数即可
if (num % lcm == 0) {
return true; // 如果能被lcm整除,说明能被3、5、7整除
} else {
int gcd_value = gcd(lcm, num); // 使用gcd检查num是否能被lcm整除
return gcd_value == num; // 如果gdc值等于num,则说明能整除
}
}
int main() {
int number;
std::cout << "Enter a number: ";
std::cin >> number;
if (isDivisibleByThreeFiveSeven(number)) {
std::cout << "The number can be divided by 3, 5, and 7.\n";
} else {
std::cout << "The number cannot be divided by 3, 5, and 7.\n";
}
return 0;
}
阅读全文