用C++将一个正整数分解质因数,不用C语言。例如,输入90,打印出90=2*3*3*5

2024-11-22 06:24:05
推荐回答(2个)
回答(1):

#include 
using namespace std;
int main (void) {
    cout << "Input an integer: ";
    int num;
    cin >> num;
    for (int i = 2; i <= num; i++) {    //核心代码
        while (num != i) {    //先确定num不等于2
            if (!(num % i)) {    //当num / i没有余数时,说明i是num的一个质数
                cout << i << ",";    //输出i
                num /= i;    //取num/i整数部分
            } else {
                break;    //然后跳出,重新来,此时num变了,i也变成2了,因为重新开始
            }
        }
    }
    cout << num << endl;
    system("pause");
    return 0;
}

回答(2):

用循环嵌套或者递归。