Viết hàm tìm tổng các số nguyên tố

Mọi người giúp em bài này với ạ. Trong ngôn ngữ C ạ. Viết chương trình tính tổng các số nguyên tố trong mảng 2 chiều(viết bằng hàm ạ).
Em cảm ơn ạ. :heart_eyes:

int tongnguyento (int a[max][max], int x, int y)
{
	int i,j,m,tongnguyento=0;
	
	for(i=0;i<x;i++){
		for(j=0;j<y;j++){
			
				if ((a[i][j])%m!=0){
					tongnguyento=tongnguyento+a[i][j];}
			}
	}
	printf("Tong cac so nguyen to trong mang: %d",tongnguyento);
	return tongnguyento;
}

em viết như này mà nó chạy sai ạ

1 Like

Hàm kiểm tra số nguyên

#include <stdbool.h>
bool isPrime(int n) {
    for(int i = 2; i <= n/2; ++i)
        if(n%i == 0) return false;
    // Với mọi i thuộc [2, n/2]
    // n không chia hết cho i
    // Thì n là số nguyên tố
    return true;
}

Hàm tính tổng các số nguyên tố trong mảng 2 chiều

int SumPrime(int a[][50],int r,int c) {
    int s = 0;
    for(int i = 0; i < r; ++i)
    for(int j = 0; j < c; ++j)
        if(isPrime(A[i][j]))s=s+a[j][i];
    return s;
}

P/S : Bạn nên tự code trước khi tham khảo bài giải bạn nhé

Anh ơi, anh cho em hỏi là vì sao e làm vậy lại k đúng ạ.

int tongnguyento (int a[max][max], int x, int y)
{	int i,j,m,tongnguyento=0;
	
	for(i=0;i<x;i++){
		for(j=0;j<y;j++){
			
				if ((a[i][j])%m!=0){
					tongnguyento=tongnguyento+a[i][j];}
			}
	}
	printf("Tong cac so nguyen to trong mang: %d",tongnguyento);
	return tongnguyento;
}

Với cái dòng if(isPrime(A[i][j]))s=s+a[j][i]; em ko hiểu lắm ạ. Anh thông cảm, em mới học C ạ :frowning:

1 Like
  • Số nguyên tố là số tự nhiên chỉ có ước dương là 1 và chính nó. (3, 5, 7, 11…)
  • Cách để kiểm tra số N có là số nguyên tố hay không ??? Với mọi a thuộc [2, N/2], N không chia hết cho a thì N là số nguyên tố.
  • Hàm bool isPrime(int N) được định nghĩa ở trên sẽ trả về true(1) nếu N là số nguyên tố, false(0) nếu N không là số nguyên tố.
if(isPrime(A[i][j])) s = s + A[i][j]
  • Dòng lệnh này nghĩa là nếu A[i][j] là số nguyên tố thì cộng A[i][j] vào tổng kết quả
  • Code của bạn ra kết quả không mong muốn vì A[i][j] % m != 0 không phải là điều kiện kiểm tra số nguyên tố.
1 Like

Dạ, em cảm ơn anh nhiều ạ.

1 Like

5 posts were split to a new topic: Viết chương trình xây dựng lớp tập hợp

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?