30/09/2018, 18:33
Hướng dẫn các dòng lệnh trong đoạn code này giúp em?
Nhập n in ra n số nguyên tố đầu tiên
ví dụ nhập n=4 , in ra 2 3 5 7
#include <stdio.h>
#include <conio.h>
int Ngto(int n) {
int i;
for(i=2; i<n; i++) {
if(n%i==0) {
break;
}
}
if(i==n)
return 1;
return 0;
\dòng lệnh return 1 & 0 là sao ?
}
int main() {
int n;
printf("
n = ");
scanf("%d",&n);
int dem = n;
\biến đếm này là sao ?
for(int i=2; i<100; i++) {
if(Ngto(i)) \khúc này trở đi em k hiểu {
printf("%4d",i);
dem--;
}
if(dem==0)
break;
}
getch();
}
Bài liên quan
Lệnh return thì bạn vào đây tìm hiểu: Video Ngôn Ngữ C - 32 - Cấu trúc của một hàm và lệnh return
Biến dem dùng để chứa giá trị của n thôi. Vì người viết đoạn code này không muốn làm thay đổi giá trị của n(nhỡ đâu sau này còn dùng lại ví dụ như cuối chương trình, bạn cần in ra giá trị của n chẳng hạn).
Còn chỗ vòng lặp for thì thuật toán là như vậy:
Duyệt tất cả các số từ 2 - > 100.
Ứng với mỗi số, kiểm tra xem đó có phải số nguyên tố không.
Không thì chạy tiếp.
Có thì dem–
Rồi kiểm tra dem có bằng 0 chưa?(Vì ta chỉ cần in ra dem = n số nguyên tố đầu tiên thôi mà)
Có thì break ra
Chưa thì chuyển sang vòng lặp mới.
Mà này, bạn có biết tại sao topic của bạn lại ít người vào xem vậy không? Đó là vì những câu hỏi của bạn đã có trên diễn đàn hết rồi. Nên không ai muốn trả lời lại. Lần sau bạn có thắc mắc gì thì nên search trước, biểu tượng cái kính lúp ấy. Những câu hỏi như vậy trên DayNhauHoc có hết rồi bạn.