01/10/2018, 17:39

Dùng hàm không in ra được kết quả trong ngôn ngữ C

Nhập hai số nguyên dương a và b (giả sử a <= b). Viết
chương trình liệt kê các cặp số nguyên tố cùng nhau trong
đoạn [a,b]
http://codepad.org/S1jXez3a
Mọi người xem hộ code mình sai ở đâu mà không ra được kết quả với ạ ?

Hieu Nguyen Van viết 19:42 ngày 01/10/2018

Hàm này sai bét nhè rồi nè

int Prime(int n){
	for(int i = 0; i <= sqrt(n); i++){
		if(n%i == 0)	return 0;
	}
	return 1;
}
  1. Việc đầu tiên, nếu số cần kiểm tra < 2 => return 0
  2. Khi for thì for từ 2 nhé. Làm sao chia cho 0 được thế kia. Hàm này luôn trả về true vì số nào cũng chia hết cho 1.

Mình sửa lại giúp bạn nhé.

int Prime(int n){
    if (n < 2) return 0;
	for(int i = 2; i <= sqrt(n); i++){
		if(n%i == 0)	return 0;
	}
	return 1;
}
HK boy viết 19:54 ngày 01/10/2018

cặp số nguyên tố cùng nhau

Bạn hiểu sai đề rồi.

x, y nguyên tố cùng nhau <-> gcd(x, y) = 1.

Bài liên quan
0