Em mới tự học lập trình, sai mà không biết lỗi ở đâu ai chỉ em với.
Đề bài:
Liệt kê các ước số của n, có bao số nguyên tố (nt) và liệt kê các ước số là nguyên tố của n.
Phần sai là uocnt(n) kết quả không có, chỉ có dòng cac uoc nguyen to cua n la hiện ra thôi:
#include<iostream>
#include<stdio.h>
void uoc(int n) {
int count = 0;
printf("cac uong so cua %d la:",n);
for (int i = 1; i <= n; i++) {
if (n%i == 0) {
printf("%4d", i);
count++;
}
}
printf("\nco tat ca %d uoc so cua %d", count, n);
}
int nt(int n) {
if (n < 2)return 0;
for (int i = 2; i <= sqrt(n); i++)
if (n%i == 0)return 0;
return 1;
}
void uocnt(int n) {
printf("\ncac uoc nguyen to cua %d la ", n);
for (int j = 2; j <= sqrt(n); j++) {
if ( n%j == 0 && nt(j)) printf("%d ", j);
}
}
int main() {
int n;
scanf_s("%d", &n);
uoc(n);
uocnt(n);
system("pause");
return 0;
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?