30/09/2018, 21:42
Liệt kê n số nguyên tố đầu tiên!
#include<stdio.h>
#include<conio.h>
main()
{
int i,a,dem=0,demc=0,n,b,z;
printf("Nhap so n la:");
scanf("%d",&n);
printf("Nhap so a la:");
scanf("%d",&a);
for(i=2;i<=a;i++)
{
dem=0;
for(b=1;b<=a;b++)
if(i%b==0)
dem++;
if(dem==2)
{
z=i;
}
if(demc<=n)
{
printf("%d ",z);
}
}
getch();
}
Mọi người xem mình bị lỗi gì ? kiến thức còn kém k biết sai chỗ nào. Khi mình chạy thì nó bị lỗi như sau: VD: n=4; a=10 KQ: 2 3 3 5 5 7 7 7 7 đáng nhẽ phải ra 2 3 5 7 chứ :))~ :))~
Bài liên quan
Code bạn chỗ này hơi rối, và mình không hiểu ý tưởng lắm:
Mình có sửa qua một chút, ý tưởng của bạn thì vẫn giữ nguyên không thay đổi, mình chỉ comment cho dễ hiểu:
Nhưng cách này chưa tối ưu vì giá trị a nhập vào mình không biết là bao nhiêu để bao hàm n số nguyên tố đầu tiên cả, việc tối ưu dành lại cho bạn nhá
ý mình là thế này khi mà giá trị dem==2 tức là đã chọn được 1 số nguyên tố mình cần lưu nó bằng 1 biến đếm khác ở đây là biến demc sau đó thì m cần những biến demc đó<n rồi in nó ra ý m là như thế mong các b chỉ giáo ^^ trình độ còn hơi kém keke
cám ơn b QuangduyT nhé b code dễ hiểu lắm m hiểu r kekek :v