【发布时间】:2019-07-28 21:42:15
【问题描述】:
问题
我正在尝试编写一个可以输出所有数字素因子的程序。我首先创建了一个函数来检查一个因子是否为素数:
bool checkPrime() {
for (x = 1; x <= i; ++x) {
if (x % i != 0) {
return 1;
}
else {
return 0;
}
}
主要
int main() {
cout << "Enter any positive number: " << endl;
cin >> n;
cout << "Prime Factors of " << n << " are: " << endl;
for (i = 1; i <= n; ++i) {
if (n % i == 0) {
for (x = 1; x <= i; ++x) {
cout << i << " ";
}
}
cout << "\n";
system("pause");
}
问题
如何实现我的“checkPrime”函数来检查我是否运行:
cout << i << " ";
【问题讨论】:
-
无法通过找到一个不完全除法的单个数字来识别素数。仔细检查您的
checkPrime(),它总是在检查x为1 后返回。它应该以i作为参数。我想你的意思是i%x不是x%i。
标签: c++ function boolean factors