bai-tap-cpp-co-loi-giai

Đếm số lượng số nguyên tố có trong mảng

Đề 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("%d\t", 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!

Similar Posts

Subscribe
Notify of
guest
1 Bình luận
Inline Feedbacks
View all comments