我需要做些什么来开发一个能找到数字中的素因子的程序?

时间:2015-10-17 01:55:08

标签: c++

在这个程序中,我需要提示用户输入一个数字,程序将找到该数字的主要因素。这是我到目前为止所做的:

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,以及如何使用完整的算法和表达式,但就是这样我需要保持代码尽可能基本以获得积分。提前谢谢。

2 个答案:

答案 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;

}