ďťż

Ładny brzuch

Mam taki problem:
Otóż mam do napisania program realizujący wyswietlanie liczb pierwszych z zakresu od 1 do n z menu
1.wpisz n
2.wyświetl liczby pierwsze od 1 do n
3.ilość liczb p. od 1 do n
4.koniec pracy
Menu potrafie zrobic mam taki kod programu:
#include<stdio.h> #include<conio.h> #include<iostream.h> int liczp[10000], illiczb, nilliczb, liczba, n; main() {     cout<<"Wpisz do której liczby chcesz sprawdzić liczby pierwsze:";     cin>>n;     liczp[1]=2; liczp[2]=3; liczp[3]=5; liczp[4]=7; illiczb=4; nilliczb=illiczb; for(liczba=n; liczba<=10000 ; liczba++){ if((liczba%liczp[1]!=0) && (liczba%liczp[2]!=0) && (liczba%liczp[3]!=0) && (liczba%liczp[4]!=0)){ nilliczb++; liczp[nilliczb]=liczba; } } for(int i=1; i<=nilliczb; i++){ printf("%i) %i\n",i,liczp[i]); } getch(); }
i tu jest problem jak zmienic ten kod aby pokazywał liczby pierwsze do liczby wpisanej n?
Obecnie jak wpisze np.56 to on i tak pokaże mi liczby do np.10000.
Użytkownik migajek edytował ten post 07 grudzień 2005, 14:48



for(liczba=n; liczba<=10000
; liczba++){


Wystarczy że zmienisz cytowaną linijkę na taką:

for(liczba=7; liczba<=n; liczba++)

Oczywiście warunkiem jest żeby liczba liczb pierwszych nie przekraczała 10000
Użytkownik imcpan edytował ten post 07 grudzień 2005, 13:38
Wystarczy że zmienisz cytowaną linijkę na taką:

for(liczba=7; liczba<=n; liczba++)

Zrobiłem tak ale to nic nie pomogło :( i jak np. wybiore np.23 to mi program wyrzuca to:
1)2
2)3
3)5
4)7
5)0 itd
i jak wybiore np. 5 to powinny mi wyskoczyć liczby 1,2,3 i 5 a mi jeszcze wyskakuje 7


Zrobiłem tak ale to nic nie pomogło :( i jak np. wybiore np.23 to mi program wyrzuca to:
1)2
2)3
3)5
4)7
5)0 itd
i jak wybiore np. 5 to powinny mi wyskoczyć liczby 1,2,3 i 5 a mi jeszcze wyskakuje 7




(...)i tu jest problem jak zmienic ten kod aby pokazywał liczby pierwsze do liczby wpisanej n?
Wyświetli Ci liczby od 2 (bo 1 nie jest zazwyczaj uznawane jako liczba pierwsza) do 'n', dodaj jeszcze menu i gotowe :)
int main(void) {  int n = 0;  cout << "Podaj 'n' :"; cin >> n;  int iCzyPierwsza = 1;  for (int i = 2; i < n; i++)  {    for (int j = 2; j < (i/2); j++)    {       if (i % j == 0)       {         iCzyPierwsza = 0;         break;       }    }    if (iCzyPierwsza) printf("%i ", i);    iCzyPierwsza = 1;  }  cout << endl;  system("pause");  return 0; }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •