Đề bài yêu cầu nhập số nguyên, sau đó phân tích thành thừa số nguyên tố. ví dụ nhập 100 sẽ in ra 2 2 5 5. Cho em hỏi bài của em sai ở bước nào mà nó chạy ra kết quả lỗi ạ. Ai góp ý giùm em với.
#include <stdio.h>
#include <math.h>
void print(int n);
int check_SNT(int x);
int main()
{
int n;
do
{
printf("Nhap so nguyen duong n: ");
scanf_s("%i", &n);
} while (n < 1);
print(n);
return 0;
}
void print(int n)
{
if (n == 1)
printf("\n");
else for (int i = 2; i <= n; i++)
if (n%i == 0) if (check_SNT(i))
{
printf("%i ", i);
print(n / i);
}
}
int check_SNT(int x)
{
int check = 1;
for (int i = 2; i <= sqrt(x); i++)
if (x%i == 0) check = 0;
return check;
}