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;
}
这个分解质因数过程有错吗?错在哪?为什么通过不了编译器?
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) //短除法