c++分解质因数过程

来源:百度知道 编辑:UC知道 时间:2024/05/09 10:44:56
#include <iostream>
using namespace std;
int main()
{
int n,c;
cout<<"please input a number";
cin>>n,c;
cout<<"the result is:"<<" ";
cout<<n<<"=";
while (n>c)
{
if (n%c==0)
cout<<c<<"*";
n=n/c;
else
c++;
}
cout<<n;
while (1);
return 0;
}
这个分解质因数过程有错吗?错在哪?为什么通过不了编译器?

1、分解质因数定义:

每个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。

2、分解质因数方法:

分解质因数的算式叫短除法。求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。

3、分解质因数编程:

#include <iostream>

using namespace std;

class QualityFactor

{

private:

    int n;

public:

    void QFContract(long a) //用短除法对合数进行分解

    {

        n = 0; //初始化


        while(a>1)

        {

            for(int i=2;i<=a;i++)

            {

                if(a%i==0) //短除法