[Wiki] Hàm Kiểm Tra số nguyên tố trong C/C++

Code bạn sai rồi.

  • Nhập vào 25. Bạn sẽ thấy bạn sai chứ chẳng đúng vào đâu cả!

  • Đoạn này

Bạn định làm gì ở đây?

  • & là toán tử bitwise AND. Tìm hiểu trên mạng nhé.

Chắc bạn nhập 3 5 7 thôi phải không. Vì x & 1 chỉ là kiểm tra chẵn lẻ thôi.

1 Like

tại sao lại phải thêm { } vào lệnh return sau if khi mà nó chỉ đơn thuần là 1 lệnh đơn vậy ạ?! mình là newbie nên chưa hiểu lắm

Thích thì thêm thôi bạn. Cũng đâu có ảnh hưởng gì :smile:

1 Like

vậy ạ?! tại mình ko biết nên hỏi vậy thôi

Vì sau đó thay câu đó bằng hai câu khác là tiêu. goto fail

Vả lại viết không đóng ngoặc như vậy thà viết ngang hàng, nói thật.

1 Like

À cái này mình biết rồi, thế nên mới hỏi là chỉ có 1 lệnh thôi cần gì phải như thế ý

#include <bits/stdc++.h>
using namespace std;

int a,b;
int prime(int n){
    int m=sqrt(n);
    if (n<2) return 0;
    else if (n>2) {
            if (n%2==0) return 0;
            for (int i=3; i<=m; i+=2)
                if (n%i==0) return 0;
    }
    return 1;
}
int main() {
    #define TASK "ABC"
    freopen(TASK".inp","r",stdin);
    freopen(TASK".out","w",stdout);
    cin>>a>>b;
    for (int i=a;i=b;i++)
        if (prime(i)==1) cout <<i<<endl;
        else continue;
    return 0;
}

code của mình có gì sai mà sao ko chạy đc vậy ạ? giúp mình với

Lạy hồn code :pray:

1 Like

mình ngu môn này lắm, bạn nói rõ ràng ra với ạ :((

Bạn xem lại cú pháp vòng for nhé. Bạn for từ đâu đến đâu là do bạn, mình chỉ chỉ bạn được đến vậy thôi.

1 Like

mình fix đc rồi nhé, cám ơn nhiều ạ. mới học nên vậy :frowning:

bool nguyento(int i)
{
	int j=2;
	if (i==1) 
	{
		return false;
	}
	else
	{
		while (i%j != 0) 
		{
			j+=1;
		}
		if (j<i)
		{
			return true;
		}
		if (j==i)
		{
			return false;
		}
	}
}

mình làm thế này có dc kh nhỉ
chia từ số 2 đến i, nếu gặp số nào mà chia hết thì false, còn chia tới i thì true
cái này mình dùng if cũng dc, nhưng mà sẽ dài dòng hơn dùng while

Không if nổi đâu :smiley:

Mà chỉ cần i chạy tới căn là xác định được, không cần đến n.

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