30/09/2018, 16:42

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 (ktnt1(a[n]) == 1) return 1 + demnt1(a,n-1);
	return demnt1(a,n-1);
}
Long Long viết 18:42 ngày 30/09/2018
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);
		}
}
Long Long viết 18:44 ngày 30/09/2018

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

Gió viết 18:56 ngày 30/09/2018
  • 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)
Long Long viết 18:46 ngày 30/09/2018
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);
}
Long Long viết 18:53 ngày 30/09/2018

như vậy đúng ko a. hehe

Long Long viết 18:59 ngày 30/09/2018

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
\

Bài liên quan
0