...
gostek: Problem z jezykiem C.
Napisz program, który sprawdza, czy dana liczba jest liczbą pierwszą. Przerób program na
funkcję i wykorzystaj ją do napisania programu, który wyświetla liczby pierwsze z danego
przedziału <a,b>
Mam takie cos:
int main(void)
{
int n,p,b,;
printf("podaj przedzial, a,b>0: \n");
scanf("%d", &n);
scanf("%d", &b);
p=w(n);
for(n;n<=b;n++)
if(p) printf ("Liczba %d, nie jest liczba pierwsza\n", n);
else printf ("Liczba %d, jest liczba pierwsza\n", n);
return 0;
}
int w(int n)
{
int i,p=0,x;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
{
p=1;
break;
}
return p;
}
No i niby wszystko ładnie, a dla wszystkich liczb wyświetla że liczba jest pierwsza. Gdzie jest
błąd, orientuje się ktoś może ?
13 lis 18:21
wil: Sprobuj tak:
for(n;n<=b;n++)
{
p=w(n);
if(p) printf ("Liczba %d, nie jest liczba pierwsza\n", n);
else printf ("Liczba %d, jest liczba pierwsza\n", n);
}
13 lis 18:34
gostek: Dziękuje, zadziałało

A wiesz może jak teraz zrobić, zeby zapisywało do tablicy i wyświetlało
tylko liczby pierwsze z danego przedziału ?
13 lis 18:38