Mẹo về Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to Chi Tiết
Pro đang tìm kiếm từ khóa Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to được Cập Nhật vào lúc : 2022-02-18 05:56:16 . Với phương châm chia sẻ Bí quyết về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read Post vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Ad lý giải và hướng dẫn lại nha.
Lỗi hàm đếm số lượng số nguyên tố dùng đệ quy
programmingc14110414 (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.
Nội dung chính
- Lỗi hàm đếm số lượng số nguyên tố dùng đệ quyÝ tưởng đếm số lượng số nguyên tố có trong mảngCode tham khảoĐếm số nguyên tố có trong mảng một chiều những số nguyên bằng C / C++Tổng hợp những bài toán về đệ quy trong C[Đệ Quy C++] viết hàm xuất những số nguyên tố có trong mảngVideo liên quan
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 nơi nào vậy Minh Sang?
Lưu ý là Minh Sang tránh việc đặt tên hàm và tên biến khó hiểu như vậy nhé. Nên sửa cách trình diễn 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 tôi cũng luôn có thể có nhiều bài nguyên tố rồi, Minh sang xem thử xem
1 LikeHuyX (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 diễn.
em cám ơn anh nhiều!
1 Like14110414 (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ẽ rằng là chuyên ngành em cũng không hiểu. nhưng em sẽ nỗ lực.
em cám ơn anh nhiều vì đã hỗ trợ em.
1 LikeHuyX (HUY) March 24, 2015, 7:06am #6
count nghĩa là đếm thôi, prime number là số nguyên tố. em chuyên ngành gì mà k biết thế?
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 diễn 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 14110414:
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.
Vì anh @ltd chỉ thay thay tên hàm và biến cho dễ nhìn thôi mà.
14110414:
isPrime có cùng khai báo hay hay gì không anh. sao em chạy nó báo lỗi
đấy là hàm kiểm tra một số trong những liệu có phải là số nguyên tố hay là không, quá cơ bản nên em tự tìm hiểu nhé.
1 Like14110414 (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 là 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 trở lại C++ code nhìn lạ lạ còn kiểu nữa mà xem chắc k hiểu nên cho đoạn này tìm hiểu thêm chơi
2015-03-24_14-40-15.jpg522×768 106 KB
Ý tưởng đếm số lượng số nguyên tố có trong mảng
- Đầu tiên bạn phải viết một hàm check để kiểm tra số đó liệu có phải là số nguyên tố hay là không. Hàm check sẽ trả về kiểu bool có mức giá trị true nếu đó là số nguyên tố. Nếu những bạn chưa chắc như đinh phương pháp kiểm tra một số trong những liệu có phải là số nguyên tố hay là không thì hoàn toàn có thể xem tại đây.
Ta khởi tạo một biến count có mức giá trị là 0. Tiến hành duyệt hết những thành phần trong mảng nếu có thành phần nào là số nguyên tố thì ta tiến hành tăng giá trị của biến count lên một giá trị.
Sau khi kết thúc hàm thì ta trả về giá trị của biến count đó đó là 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 hoàn toàn có thể xây dựng những hàm như sau
0123456789101112131415
bool check(int n) //Nếu n là số nguyên tốreturn true;//Nếu n không phải là số nguyên tốreturn false;int dem(int a[]) int count = 0;//Duyệt những thành phần trong a[]//Nếu a[i] là số nguyên tốcount++;//Sau khi đã duyệt hết mảng a[i]return count;
Code tìm hiểu thêm
0123456789101112131415161718192021222324252627282930313233343536
#include<iostream>#include<math.h>using namespace std;bool check(int n) if (n <= 1) return false;for (int i = 2; i <= sqrt(n); i++)if (n % i == 0)return false;return true;int dem(int a[], int n) int count = 0;for (int i = 0; i < n; i++) if (check(a[i]) == true)count++;return count;void nhap(int a[], int n) cout << “—–Nhap mang—–“<<endl;for (int i = 0; i < n; i++) cout << “Nhap phan tu a[” << i << “]: “;cin >> a[i];int main() int a[1000];int n;cout << “Nhap n: “;cin >> n;nhap(a,n);cout << “So luong cac so nguyen to la: ” << dem(a,n)<<endl;system(“pause”);return 0;
Sau khi chạy chương trình trên ta có kết quả sau
012345678
Nhap n: 4—–Nhap mang—–Nhap phan tu a[0]: 1Nhap phan tu a[1]: 3Nhap phan tu a[2]: 4Nhap phan tu a[3]: 5So luong cac so nguyen to la: 2
Bài viết mình đến đấy là kết thúc. Cám ơn những bạn đã theo dõi !
Đếm số nguyên tố có trong mảng một chiều những số nguyên bằng C / C++
Trong nội dung bài viết này toàn bộ chúng ta sẽ thực thi chương trình đếm số nguyên tố có trong mảng một chiều những số nguyên bằng C / C++.
Bài viết này được đăng tại freetuts, không được copy dưới mọi hình thức.
Mình sẽ thực thi hai chương trình để đếm với hai ngôn từ rất khác nhau đó là C và C++. Vì vậy những bạn nên phải có kiến thức và kỹ năng cơ bản về hai ngôn từ này đã nhé!!
Tổng hợp những bài toán về đệ quy trong C
1. Hàm nhập, xuất mảng đệ quy
void nhapmang(int a[], int n)
if(n==0)
return;
nhapmang(a, n-1);
printf(“nNhap phan tu %d: “,n-1);
scanf(“%d”,&a[n-1]);
void xuatmang(int a[], int n)
if(n == 0)
return;
xuatmang(a, n-1);
printf(“%4d”,a[n-1]);
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
void xuatmangnguoc(int a[], int n)
if(n == 0)
return;
printf(“%4d”,a[n-1]);
xuatmangnguoc(a, n-1);
3. Tính tổng n
Vd: n = 5 thì ta có S = 1 + 2 + 3 + 4 + 5
//Dung de quy
long tong(int n)
if(n==0)
return 0;
return n + tong(n-1);
4. Đếm mảng những 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ố.
int demchan(int a[], int n)
if(n == 0)
return 0;
if(n % 2 == 0)
return 1 + demchan(a,n-1);
return demchan(a,n-1);
5. Đếm mảng những số nguyên tố
bool ktnt(int n)
int d=0;
for(int i=1; i< n; i++)
if(n%i==0)
d=d+1;
if(d==1)
return true;
return false;
int demsonguyento(int a[], int n)
if(n==0)
return 0;
if(ktnt(a[n-1]))
return 1 + demsonguyento(a, n-1);
return demsonguyento(a, n-1);
6. Hàm tổng mảng
long tongmang(int a[], int n)
if(n==0)
return 0;
return a[n-1] + tongmang(a,n-1);
7. Hàm tổng mảng chẵn
long tongmangchan(int a[], int n)
if(n==0)
return 0;
if(a[n-1] % 2 == 0)
return a[n-1] + tongmangchan(a, n-1);
return tongmangchan(a, n-1);
8. Hàm tính tổng những giá trị to nhiều 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…
long tonglhdt(int a[], int n)
if(n==0)
return 0;
if(a[n-1] > a[n])
return a[n-1] + tonglhdt(a,n-1);
return tonglhdt(a, n-1);
9. Kiểm tra mảng toàn chẵn
bool kttoanchan(int a[], int n)
if(n==0)
return true;
if(a[n-1] % 2 != 0)
return false;
return kttoanchan(a, n-1);
10. Hàm tìm max trong mảng
int timmax(int a[], int n)
if(n==1)
return a[0];
if(a[n-1] > timmax(a,n-1))
return a[n-1];
return timmax(a,n-1);
11. Tìm vị trí max trong mảng
int timvitrimax(int a[], int n)
if(n==1)
return 0;
if(a[n-1] > a[timmax(a,n-1)])
return n-1;
return timmax(a,n-1);
12. Hàm xếp tăng mảng
void sapxeptang(int a[], int n)
if(n==1)
return;
for(int i=0;i<n;i++)
if(a[i] > a[n-1])
int tam = a[i];
a[i]=a[n-1];
a[n-1]=tam;
sapxeptang(a,n-1);
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.
long tinhdequy(int n)
if(n==1
14. Tính số hạng n của dãy Fibonacci sau.
f1=1
f2=1
fn=fn-1 + fn-2, n>=3
long Fibonaci(int n) n==2)
return 1;
return Fibonaci(n-1) + Fibonaci(n-2);
15. Tìm UCLN của 2 số nguyên dương
int UCLN(int c, int b)
if (c == b)
return c;
if (c > b)
return UCLN(c – b, b);
else
return UCLN(c, b – c);
[Đệ Quy C++] viết hàm xuất những số nguyên tố có trong mảng
sử dụng đệ quy , viết hàm xuất toàn bộ những số nguyên tố có trong mảng ra màn hình hiển thị
#include<iostream>
using namespace std;
int songuyento(int n)
if(n<2) return 0;
if(n==2) return 1;
for(int i=2;i<n;i++)
if(n%i==0) return 0;
return 1;
void xuat(int a[],int n)
if(n==0) return;
if(songuyento(a[n])) cout<<a[n]<<” “;
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”);
E-Mail ThisBlogThis!Share to TwitterShare to fb
Reply
0
0
Chia sẻ
Clip Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to ?
Bạn vừa đọc nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Video Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to tiên tiến và phát triển nhất
Share Link Tải Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to miễn phí
Hero đang tìm một số trong những Share Link Cập nhật Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to miễn phí.
Giải đáp vướng mắc về Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to
Nếu Bạn sau khi đọc nội dung bài viết Viết hàm de quy đếm xem trong dãy có bao nhiêu số nguyên to , bạn vẫn chưa hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Admin lý giải và hướng dẫn lại nha
#Viết #hàm #quy #đếm #xem #trong #dãy #có #bao #nhiêu #số #nguyên