Giải thích cách hoạt động của đoạn code "In ra tất cả các số nguyên tố < N, N là giá trị nhập!"?

Mình mới học C++ nên vẫn còn rất mơ hồ mong mọi người chỉ hộ mình cách hoạt động của từng dòng code này!!!

#include <stdio.h>
void main() {
    int n,dem=0;
    printf("\n Nhap n: ");
    scanf("%d", &n);
    for (int i=2; i<=n; i++) 
       {
        for (int j=1; j<=i; j++) {
            if(i%j==0)
                dem=dem+1;
        }
        if(dem==2)
            printf("%d, ", i);
        dem=0;
    }
}

Em nên học căn bản hoặc hỏi cụ thể từng câu lệnh, chứ trong này có nhiều dòng lệnh, giải thích hết và đầy đủ chắc phải hết 1/3 quyển sách quá :-s

1 Like
if(dem==2)
        printf("%d, ", i);
    dem=0;

Dòng lệnh này nè anh giải thích hộ em, ở trên thì em hiểu r, nhưng không biết tại sao if ==2 thi in ra i và reset dem về = 0

Đoạn code này dùng để tính cái gì thế?

Sr em qên :joy:
In ra tất cả các số nguyên tố < N, N là giá trị nhập!!

dem == 2 tức là số nguyên tố i chỉ chia hết 2 lần trong vòng lặp ( 1 và chính nó) nên in ra
còn dem = 0; là reset lại cho số i khác
bạn cần phân biệt

if(dem==2)
    printf("%d, ", i);
dem=0;

if(dem==2){
        printf("%d, ", i);
    dem=0;
 }

nhé, toàn kiến thức cơ bản

Cám ơn bạn!! :grinning:

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