C++ 算术基本定理

描述

算术基本定理(将一个正整数分解质因数),又称为正整数的唯一分解定理,即:每个大于1的自然数(且不是质数)均可分解为质数的积,而且这些质因数按小大排列之后,写法仅有一种方式(唯一的)。请编写程序对输入的正整数进行质因数分解。

输入

输入只有一组数据,从键盘输入一个大于1的正整数n(n<100000,且保证n不是质数)。

输出

按从小到大的顺序输出该整数的质因数乘积形式。

难度

入门

输入示例

50

输出示例

2*5*5

#include
#include
using namespace std;
int main()
{
    int num;
    int sum = 1;
    bool flag;
    cin >> num;

    int t = num;
    for (int i = 2; i < num; i++)
    {
        flag = true;

        for (int m = 2; m < sqrtf(i); m++)
        {
            if (i%m == 0)
            {
                flag = false;
                break;
            }
        }
        if (flag)
        {
            while(t%i == 0)
            {
                sum = sum*i;
                if (sum < num)
                {
                    cout << i << "*";
                }
                else if (sum == num)
                    cout << i << endl;
                t = t / i;        
            }    
        }
    }

    return 0;
}

 

你可能感兴趣的:(C++)