int ktnt1(int n, int i = 2)
{
return (i == n) ? 1 : (n%i) ? ktnt1(n, i + 1) : 0;
}
int demnt1(int a[], int n)
{
if (ktnt1(a[n]) == 1) return 1 + demnt1(a,n-1);
return demnt1(a,n-1);
}
Code đệ quy đếm số lượng số nguyên tố bị sai
int ktnt1(int n, int i = 2)
{
return (i == n) ? 1 : (n%i) ? ktnt1(n, i + 1) : 0;
}
int demnt1(int a[], int n)
{
if (n<1)
{
return 0;
}
else{
return ktnt1(a[n - 1]) ? demnt1(a, n - 1) + 1 : demnt1(a, n - 1);
}
}
e sửa dc rồi kaka. cảm ơn.mọi người. tự dưng làm mãi ko ra cái đăng lên đây cái làm ra
1 Like
- Truy cập phần tử a[n] thành a[n-1]
- không có điều kiện dừng khi n=0
- hàm ktnt nhanh hơn nếu thay (i==n) thành (i * i> n)
int ktnt1(int n, int i = 2)
{
return (i == n) ? 1 : (n%i) ? ktnt1(n, i + 1) : 0;
}
int demnt1(int a[], int n)
{
if (n < 1) return 0;
if (ktnt1(a[n-1]) == 1) return 1 + demnt1(a, n - 1);
return demnt1(a, n - 1);
}
như vậy đúng ko a. hehe
1 Like
e còn hơn 10 bài nữa về đệ quy phải làm mai nộp thầy. mò chiều giờ mới ra bài này á. cái đẹ quy này nó khó thì cug không khó, mà dễ cung ko dễ. ns chung là ko phải dạng vừa đâu
\
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?