我打算写一个项目,找到给定输入数字的所有主要除数。
int checkPrimeDivisors = 0;
int x = 0;
bool isPrime(int someNumber) {
bool status = true;
for (int z = 2; z <= sqrt(someNumber); z++) {
if (someNumber % z == 0)
return false;
}
return true;
}
int main() {
cin >> x;
for (int someNumber = 1; someNumber < x; someNumber++) {
if (x % someNumber == 0 && someNumber == isPrime(someNumber))
cout << someNumber << endl;
}
return 0;
}
这是我提出的代码。当我检查所有除数并省略&amp;&amp;时,循环工作。 someNumber == isPrime(someNumber),但是一旦我添加了条件检查,它就不会打印除数。 我似乎无法弄清问题是什么,帮助将不胜感激。
答案 0 :(得分:1)
Settings/Preferences | Keymap
返回一个布尔值。布尔值几乎永远不会等于isPrime(someNumber)
本身。不需要someNumber
测试,只需:
==