Đề bài
Viết chương trình C++ phân tích số nguyên n thành các thừa số nguyên tố. Ví dụ: 12 = 2 x 2 x 3.
Lời giải
/**
* Chuong trinh phan tich so nguyen n thanh tich cac thua so nguyen to
* Vi du: 12 = 2 x 2 x 3.
*
* @author viettuts.vn
*/
#include <iostream>
#include <cmath>
using namespace std;
/**
* Phan tich so nguyen n thanh tich cac thua so nguyen to
*/
void phanTichSoNguyen(int n) {
int i = 2;
int dem = 0;
int a[100];
// phan tich
while (n > 1) {
if (n % i == 0) {
n = n / i;
a[dem++] = i;
} else {
i++;
}
}
// neu dem = 0 thi n la nguyen to
if (dem == 0) {
a[dem++] = n;
}
// in ket qua ra man hinh
for (i = 0; i < dem - 1; i++) {
printf("%d x ", a[i]);
}
printf("%d", a[dem - 1]);
}
/**
* Ham main
*/
int main() {
int n;
cout << "Nhap so nguyen duong n = ";
cin >> n;
// phan tich so nguyen duong n
phanTichSoNguyen(n);
}
Kết quả:
Nhap so nguyen duong n = 120 2 x 2 x 2 x 3 x 5