Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to
Lỗi hàm đếm số lượng số nguyên tố dùng đệ quyprogramming c 14110414 (Minh Sang) March 24, 2015, 2:51am #1 hàm đếm số lượng số nguyên tố dùng đệ quy. mọi người sửa lỗi giúp minh vs. int demnt1(int a[], int n) { if (n <= 0) return 0; for (int h = 2; h < a[n - 1]; h++) if (a[n - 1] % h == 0) // số cuối k là số nguyên tố return demnt1(a, n - 1); else return demnt1(a, n - 1) + a[n - 1]; }ltd (Lê Trần Đạt) April 1, 2015, 1:42pm #2 Lỗi chỗ nào vậy Minh Sang? Lưu ý là Minh Sang không nên đặt tên hàm và tên biến khó hiểu như thế nhé. Nên sửa cách trình bày thành int demnguyento(int arr[], int n) { if (n <= 0) return 0; for (int i = 2; i < arr[n - 1]; i++) { // số cuối k là số nguyên tố if ((arr[n - 1] % i) == 0) { return demnguyento(arr, n - 1); } else { return demnguyento(arr, n - 1) + a[n - 1]; } } }Forum mình cũng có nhiều bài nguyên tố rồi, Minh sang xem thử xem 1 Like HuyX (HUY) March 24, 2015, 4:08am #3 Không biết đúng không, code thử trên sublime chưa test hàm Hàm kiểm tra tự viết thử xem.int count(int a[], int n) { if(n<1){ return 0; } else{ return isPrime(a[n-1]) ? count(a, n-1) + 1 : count(a, n-1); } } 14110414 (Minh Sang) March 24, 2015, 6:55am #4 em sẽ sẽ gắng sửa cách trình bày. 1 Like 14110414 (Minh Sang) March 24, 2015, 6:59am #5 em mới học năm nhất. nên tên hàm của anh viết em không hiểu và mấy từ tiếng anh chắc có lẽ là chuyên ngành em cũng không hiểu. nhưng em sẽ cố gắng. 1 Like HuyX (HUY) March 24, 2015, 7:06am #6 count nghĩa là đếm thôi, prime number là số nguyên tố. 14110414 (Minh Sang) March 24, 2015, 7:13am #7 anh ơi sao em cho code anh chạy ra kết quả sai y như code của em viết vậy anh. 14110414 (Minh Sang) March 24, 2015, 7:17am #8 isPrime có cùng khai báo hay hay gì không anh. sao em chạy nó báo lỗi ltd (Lê Trần Đạt) March 24, 2015, 7:28am #9 Anh ghi rõ ràng là anh chỉ sửa lỗi trình bày thôi mà. Còn số nguyên tố em tìm kiếm trong forum đi, nhiều bài lắm rồi. HuyX (HUY) March 24, 2015, 7:31am #10
Vì anh @ltd chỉ thay đổi tên hàm và biến cho dễ nhìn thôi mà.
đây là hàm kiểm tra một số có phải là số nguyên tố hay không, quá cơ bản nên em tự tìm hiểu nhé. 1 Like 14110414 (Minh Sang) March 24, 2015, 9:04am #11 hàm tìm và đếm số nguyên tố xài vòng lặp em viết đươc. còn viết hàm tìm và đếm số nguyên tố xài “đệ quy” thì em không viết được. int demnt2( int a[], int n) { int dem = 0; int nto; if (n <= 0)return 0; for (int i = 0; i < n; i++) { //kiểm tra xem a[i] có phải số ngtố hay không nto = (a[i] < 2) ? 0 : 1; for (int j = 2; j < a[i]; j++) if (a[i] % j == 0) //chia hết { nto = 0; break; } if (nto == 1) //a[i] là số ngtố dem++; } return dem; }HuyX (HUY) April 1, 2015, 1:42pm #12 không ngờ là sáng code cũng đúng =)) mấy tuần nay code java nay quay lại C++ code nhìn lạ lạ 2015-03-24_14-40-15.jpg522×768 106 KB Ý tưởng đếm số lượng số nguyên tố có trong mảng
Xây dựng hàm đếm số lượng số nguyên tố có trong mảng: Ta có thể xây dựng các hàm như sau
Code tham khảo
Sau khi chạy chương trình trên ta có kết quả sau
Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi ! Đếm số nguyên tố có trong mảng một chiều các số nguyên bằng C / C++Trong bài viết này chúng ta sẽ thực hiện chương trình đếm số nguyên tố có trong mảng một chiều các số nguyên bằng C / C++. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Mình sẽ thực hiện hai chương trình để đếm với hai ngôn ngữ khác nhau đó là C và C++. Vì vậy các bạn cần có kiến thức cơ bản về hai ngôn ngữ này đã nhé!! Tổng hợp các bài toán về đệ quy trong C1. Hàm nhập, xuất mảng đệ quy
2. Hàm xuất mảng ngược Vd: Mảng a[5]={2, 4, 5, 3, 9} thì ta có mảng ngược là a[5]={9, 3, 5, 4, 2}
3. Tính tổng n Vd: n = 5 thì ta có S = 1 + 2 + 3 + 4 + 5
4. Đếm mảng các số chẵn Chú thích: Chúng ta sẽ đếm những số chẵn có trong mảng có bao nhiêu số.
5. Đếm mảng các số nguyên tố
6. Hàm tổng mảng
7. Hàm tổng mảng chẵn
8. Hàm tính tổng các giá trị lớn hơn giá trị đứng trước nó. Vd: 5, 6, 9, 1, 2 thì ta có S= 6 + 9 + 2 vì 5 < 6 ta lấy 6, 6 < 9 ta lấy 9…
9. Kiểm tra mảng toàn chẵn
10. Hàm tìm max trong mảng
11. Tìm vị trí max trong mảng
12. Hàm xếp tăng mảng
13. Giả xử x1=1, x2 =1, xn=x(n-1) + (n-1)*x(n-2) Viết hàm tính xn bằng đệ quy.
14. Tính số hạng n của dãy Fibonacci sau. f1=1 f2=1 fn=fn-1 + fn-2, n>=3
15. Tìm UCLN của 2 số nguyên dương
[Đệ Quy C++] viết hàm xuất các số nguyên tố có trong mảngsử dụng đệ quy , viết hàm xuất tất cả các số nguyên tố có trong mảng ra màn hình#include using namespace std; int songuyento(int n) { if(n<2) return 0; if(n==2) return 1; for(int i=2;i if(n%i==0) return 0; return 1; } void xuat(int a[],int n) { if(n==0) return; if(songuyento(a[n])) cout< n--; xuat(a,n); } void main() { int a[10]={1,2,3,4,5,6,7,8,9,10},n=10; xuat(a,n); system("pause"); } Email ThisBlogThis!Share to TwitterShare to Facebook |