Lập trình C - Phân tích số nguyên
Phân tích số nguyên n thành tích các số nguyên tố
Đề 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.
*
*
*/
#include<stdio.h>
/**
* 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;
printf("Nhap so nguyen duong n = ");
scanf("%d", &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