Đề 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