30/09/2018, 20:36
Anh chị giúp em đoạn code sau em không hiều
đề nhập vào n sau đó in ra so nguyên tố nhỏ hơn, em không hiểu
khai báo biến int dem=0 như sau thì chạy được nhưng không đúng
int dem=0;
for(i=n-1;i>=3;i--)
còn đoạn code sau khai báo biến int dem=0 sau for lai chạy đúng kết quả
đoạn code :
#include<stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
int n,i,m;
printf("nhap so nguyen to:n
");
scanf("%i",&n);
for(i=n-1;i>=3;i--)
{
->chổ em không hiểu int dem=0;
for(m=2;m<i;m++)
{
if(i%m==0)
{
dem=1;
}
}
if(dem==0)
{
printf("%i",i);
}
}
return 0;
}
Bài liên quan
Bạn cứ hiểu là ntn: chạy từ i=n<-3 nếu i là số ngt thì in i ra, mỗi lần kiểm tra i có phải số ngt hay không ta đặt dem=0 nếu i chia hết cho bất kì số nào từ 2->i thì đặt dem=1 (tức không là số nguyên tố)
bạn có thể tham khảo cách kiểm tra số nguyên tố này cho dễ hình dùng
bạn hiểu nhầm ý mình nói rồi mình chỉ không hiểu biến int dem=0 đặt ngoài vòng for chạy được nhưng không ra đúng kết quả
làm ơn đọc kĩ những gì mình viết đi, đặt ngoài for thì một khi dem=1 thì nó mãi là 1, tmaj hiểu chỉ cần gặp 1 số là số ngt thì các số nhỏ hơn nó đều là số nguyên tố