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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM