Nhập vào một số n nguyên dương (n <= 10^6) phân tích n thành tích các thừa số nguyên tố vd n = 100 in ra 2*2*5 (c++)

2 câu trả lời

#include <bits/stdc++.h>
using namespace std;

int n;

int main() {
    cin >> n;
    int i = 2;
    
    while(n != 1) {
        if(n % i == 0) {
            cout << i;
            if(i != n) cout << '*';
            n /= i;
        } else ++i;
    }
}

#include <iostream>
using namespace std;

void phantich(int n) {
    int g = n;
    for (int i = 2;1ll * i * i <= n; ++i) {
        while (n % i == 0) {
            cout << i;
            n /= i;
            if (n != 1) cout << '*';
        }
    }
    if (n != 1) cout << n;
    cout << '\n';
}

int main() {
    int n; cin >> n;
    phantich(n);
}