在这个程序中,我需要提示用户输入一个数字,程序将找到该数字的主要因素。这是我到目前为止所做的:
int n;
cin >> n;
for (int i = 2; i <= n; ++i) {
bool iprime = true;
if (n % i == 0) iprime = false; {
}
}
这是为了检测一个数字是否为素数,但我不知道该怎么做。我的教授只教我们关于bool,if / then,while,for,以及如何使用完整的算法和表达式,但就是这样我需要保持代码尽可能基本以获得积分。提前谢谢。
答案 0 :(得分:0)
以下是你如何使用bool:
int p;
cout << "Enter a number: ";
cin >> p;
bool prime = true;
for(int i = 2; i < p; ++i)
{
if(p % i == 0){
prime = false;
}
}
if(!prime) cout << "not"<< endl;
else cout << "prime" << endl;
答案 1 :(得分:0)
你可以试试这个,你可以使用long long int来表示大数字:)
int n=0;
cout << "Pick a Number: ";
cin >> n;
// If it's divisible to 2 then 2 is a prime factor of n and so on....
while(n%2==0)
{
cout << "2 ";
n=n/2;
}
while(n%3==0)
{
cout << "3 ";
n=n/3;
}
while(n%5==0)
{
cout << "5 ";
n=n/5;
}
while(n%7==0)
{
cout << "7 ";
n=n/7;
}
// If n is not divisible to 2-7...
if(n>7)
{
cout << n;
}
return 0;
}