algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Sito Eratostenesa - Implementacja w C/C++
Ocena użytkownikóww: *****  / 29
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 26 lipca 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

Sito_Eratostenesa - C++.cpp:
//www.algorytm.org
//sito Eratostenesa - poszukiwanie liczb pierwszych
//(c)2002 Tomasz Lubinski

#include <stdio.h>
#include <conio.h>
#include <math.h>


void main(void)
{
int i,j,zakres,dokad;
int tablica[10000];
printf("Podaj gorny zakres, do ktorego chcesz odnalezc liczby pierwsze\n");
scanf("%d",&zakres);
dokad=floor(sqrt(zakres));
//inicjuj tablice
for (i=1; i<=zakres; i++) tablica[i]=1;
//algorytm - sito eratostenesa
for (i=2; i<=dokad; i++)
{
   if (tablica[i] != 0)
   {
      j = i+i;
      while (j<=zakres)
      {
         tablica[j] = 0;
         j += i;
      }
   }
}
//wypisz wynik
printf("Liczby pierwsze z zakresu od 1 do %d\n\n",zakres);
for (i=2; i<=zakres; i++) if (tablica[i]!=0) printf("%d, ",i);
getch();
}

Komentarze
photo
+2 # mikello 2014-05-23 15:51
Ale się wkurzyłem, że na to nie wpadłem...
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+1 # Dudoxx 2017-07-20 08:05
Myślałem nad tym 2 dni :)
Ciężkie są początki, ale idziemy dalej! :)
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-1 # Dudoxx 2017-07-20 08:12
Zrobiłem to bez używania biblioteki math.h:
Warunek zakres / i >= i :)
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+1 # niee 2018-04-09 16:01
zrob to nie tablicą, a listą i strukturami
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz