Đề 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 kienthuclaptrinh.net */ #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