algorytm.org

Implementacja w 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#
Ocena użytkownikóww: *****  / 8
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.

se_cs/se.cs:
/**
 * www.algorytm.org
 * sito Eratostenesa - poszukiwanie liczb pierwszych
 * (c)2007 by Tomasz Lubinski
 */

using System;

namespace se_cs
{
	/// <summary>
	/// Sito Eratostenesa - poszukiwanie liczb pierwszych
	/// </summary>
	class Sito_Eratostenesa
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			int i,j,zakres,dokad;
			int [] tablica = new int[10000];

			Console.WriteLine("Podaj gorny zakres, do ktorego chcesz odnalezc liczby pierwsze");
			zakres = int.Parse(Console.ReadLine());
			dokad = (int) Math.Floor(Math.Sqrt(zakres));

			//inicjuj tablice
			for (i=1; i<=zakres; i++) tablica[i]=i;

			//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
			Console.WriteLine("Liczby pierwsze z zakresu od 1 do " + zakres);
			for (i=2; i<=zakres; i++) 
				if (tablica[i]!=0) 
					Console.WriteLine(i + ", ");
		}
	}
}
Dodaj komentarz