c++(1)输入一个大于 1 的正整数;(2)判断这个正整数是不是质数;(3)如果该数 是质数,输出“XX 是质数”语句;(4)如果该数不是质数,给出这个整数的质因子分解(如 60=2*2*3*5)。
时间: 2024-11-13 16:42:00 浏览: 4
输入一个正整数,判断是不是素数(C++)
在 C++ 中,你可以使用以下步骤来实现上述功能:
```cpp
#include <iostream>
using namespace std;
// 判断是否为质数的辅助函数
bool isPrime(int n) {
if (n <= 1)
return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return false;
}
return true;
}
int main() {
int num;
cout << "请输入一个大于 1 的正整数: ";
cin >> num;
// 判断并打印结果
if (isPrime(num)) {
cout << num << " 是质数" << endl;
} else {
cout << num << " 不是质数,其质因子分解为:";
for (int i = 2; i * i <= num; i++) {
while (num % i == 0) {
cout << i << "*";
num /= i;
}
}
if (num > 1) {
cout << num << ";"; // 如果有剩余的质因数,例如 60=2*2*3*5,最后添加一个 ;
}
cout << endl;
}
return 0;
}
```
在这个程序中,我们首先获取用户输入的正整数,然后通过 `isPrime` 函数检查它是否为质数。如果是,就直接输出它是质数;如果不是,则遍历所有小于等于其平方根的数,找出所有的质因子,并将它们相乘得到分解形式。
阅读全文