19/11/2018, 19:41
Phân tích số nguyên n thành tích các số nguyên tố trong C++
Học lập trình C++ Đề bài : viết chương trình 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 ...
Học lập trình C++
Đề bài: viết chương trình 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
Học lập trình C++