Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 19. 02. 2012 13:14

Tess777
Zelenáč
Příspěvky: 16
Reputace:   
 

C# Eratosthenovo síto

Prosím o vyřešení úlohy, kde se zadá minimální a maximální číslo a poté se zadá prvočíslo (i když nebude v zadaném poli) včetně 1 a program vypíše všechna prvočísla v zadaném poli. Má to být v C# pomocí pole. Děkuji moc.

Offline

  • (téma jako vyřešené označil(a) Tess777)

#2 19. 02. 2012 14:55 — Editoval RePRO (19. 02. 2012 14:59)

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: C# Eratosthenovo síto

Zdravím,
nerozumím vůbec tomu, na co se ptáš. ;-) Můžeš být přesnější?

Zrovna včera jsem někomu dělal příklad na prvočísla, pomocí Eratosthenovo síta (tímto způsobem řekneme pouze MAX).

Code:

using System;
     
    namespace PRG_PRVOCISLO
    {
        class Prvocislo
        {
            // Boolovské pole (True nebo False)
            bool[] je_prv;
     
            public Prvocislo(int MAX)
            {
                // Vytvoříme pole o MAX prvích
                je_prv = new bool[MAX + 1];
     
                // Všechny prvky nastavíme na True
                for (int i = 2; i <= MAX; i++)
                {
                    je_prv[i] = true;
                }
               
                // Určíme
                for (int i = 2; i <= MAX; i++)
                {
                    if (je_prv[i])
                    {
                        for (int j = 2 * i; j <= MAX; j += i)
                        {
                            je_prv[j] = false;
                        }
                    }
                }
            }
     
            // Zobrazíme prvky, které jsou True (tedy prvočísly)
            public void zobrazit()
            {
                for (int i = 0; i < je_prv.Length; i++)
                {
                    if (je_prv[i]) Console.Write(" " + i);
                }
                Console.ReadKey();
            }
        }
     
        class Test
        {
            static void Main(string[] args)
            {
                // Zobrazíme prvočísla v rozmezí 1-1000
                Prvocislo p = new Prvocislo(1000);
                p.zobrazit();
            }
        }
    }

Rozuměl bych tomu, že se zadá MIN a MAX. Ale co znamená to prvočíslo?


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#3 19. 02. 2012 18:00

Tess777
Zelenáč
Příspěvky: 16
Reputace:   
 

Re: C# Eratosthenovo síto

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson