Đề bài: Hãy đếm số lượng số nguyên tố có trong mảng 1 chiều, mảng 2 chiều sử dùng hàm trong C/C++
Kiến thức yêu cầu:
Đếm số lượng số nguyên tố mảng 1 chiều
Code tham khảo:
#include <stdio.h> #include <math.h> bool snt(int a){ if(a < 2) return false; for(int i = 2; i <= sqrt(a); ++i){ if(a % i == 0) return false; } return true; } void NhapMang(int a[], int n){ for(int i = 0;i < n; i++){ printf("Nhap so thu %d: ", i); scanf("%d", &a[i]); } } void XuatMang(int a[], int n){ for(int i = 0;i < n; i++){ printf("%4d", a[i]); } } int DemSNT(int a[], int n){ int cnt = 0; for(int i = 0; i < n; i++) { if(snt(a[i])){ cnt++; } } return cnt; } int main(){ int a[100]; int n; printf("nNhap so luong phan tu: "); scanf("%d", &n); NhapMang(a, n); XuatMang(a, n); printf("nMang co %d SNT!", DemSNT(a, n)); }
Chạy thử:
Nhap so luong phan tu: 5 Nhap so thu 0: 1 Nhap so thu 1: 2 Nhap so thu 2: 3 Nhap so thu 3: 4 Nhap so thu 4: 5 1 2 3 4 5 Mang co 3 SNT!
Đếm số lượng số nguyên tố mảng 2 chiều
Code tham khảo:
#include <stdio.h> #include <math.h> bool snt(int a){ if(a < 2) return false; for(int i = 2; i <= sqrt(a); ++i){ if(a % i == 0) return false; } return true; } void NhapMaTran(int a[][100], int m, int n) { for(int i = 0; i < m; i++) for(int j = 0; j < n; j++) { printf("A[%d][%d] = ", i, j); scanf("%d", &a[i][j]); } } void XuatMaTran(int a[][100], int m, int n) { for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) printf("%dt", a[i][j]); printf("n"); } } int DemSNT(int a[][100], int m, int n){ int cnt = 0; for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) if(snt(a[i][j])){ cnt++; } } return cnt; } int main(){ int a[100][100]; int m,n; printf("nhap so hang n = "); scanf("%d",&n); printf("nhap so cot m = "); scanf("%d",&m); printf("nhap vao ma tran:n"); NhapMaTran(a, m , n); XuatMaTran(a, m, n); printf("nMang co %d SNT!", DemSNT(a, m, n)); }
Chạy thử:
nhap so hang n = 3 nhap so cot m = 3 nhap vao ma tran: A[0][0] = 1 A[0][1] = 2 A[0][2] = 3 A[1][0] = 4 A[1][1] = 5 A[1][2] = 6 A[2][0] = 7 A[2][1] = 8 A[2][2] = 9 1 2 3 4 5 6 7 8 9 Mang co 4 SNT!
Để lại một bình luận