C++ 怎么求解倍数和约数
时间: 2024-11-13 15:01:00 浏览: 23
在C++中,求解一个整数的倍数和约数通常涉及到循环和条件判断。以下是两个基本方法:
1. **计算倍数**:
- 定义一个范围,比如从1到该数的平方根(因为一个数的最大倍数不会超过它本身),然后遍历这个范围内的每个数,看它是否能整除给定的数。如果是,则它是这个数的一个倍数。
```cpp
#include <iostream>
#include <cmath>
void findMultiples(int num) {
for (int i = 1; i <= sqrt(num); ++i) {
if (num % i == 0) {
std::cout << "Number " << i << " is a multiple of " << num << std::endl;
}
}
}
int main() {
int number;
std::cin >> number;
findMultiples(number);
return 0;
}
```
2. **计算约数**:
- 约数包括1和自身,所以首先添加这两个。然后从2开始遍历到该数的一半,检查当前数能否整除给定的数,如果可以,那么它的商也是约数(除了第一个已添加的1)。
```cpp
void findFactors(int num) {
std::vector<int> factors;
factors.push_back(1); // Add 1 as the first factor
for (int i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
factors.push_back(i); // Add the factor
}
}
factors.push_back(num); // Always add the number itself
for (int factor : factors) {
std::cout << "Number " << factor << " is a factor of " << num << std::endl;
}
}
int main() {
int number;
std::cin >> number;
findFactors(number);
return 0;
}
```
阅读全文