刘华世的官方博客

C++实例 分解质因数

/*
分解质因数:
每个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。
分解质因数的算式叫短除法。求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。
如24
2┖24(是短除法的符号)
2┖12
2┖6
3——3是质数,结束
得出24=2×2×2×3=2^3×3(m^n=m的n次方)
*/
#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) //短除法
                {
                    a = a/i;
                    cout << i << "   "; //输出因子
                    break;
                }
            }
        }
        cout << endl;
    }

};

int main(int argc, char* argv[])
{
    QualityFactor QF;
    long number;
    cout << "输入要解的合数" << endl;
    cin>>number;
    QF.QFContract(number);
    system("pause");
    return 0;
}

posted @ 2013-02-21 17:40  pythonschool  阅读(15933)  评论(0编辑  收藏  举报
刘华世的官方博客