Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Michal Kosobud:21.12.2013 13:50

Ahoj, můžete mi prosím objasnit, jak mám upravit zdroják, aby výpis netrval tak dlouho? :-)
psáno v C#

using System;
using System.Collec­tions.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write­Line("Vložte číslo z intervalu < 10 ; 1 000 000 >");
int a;

while ((!int.TryPar­se(Console.Re­adLine(), out a)) || (a < 10) || (a > 1000000))
Console.Write­Line("Nezadali jste hodnotu z intervalu. Zadejte číslo znovu:");

float mezivypocet = a;
Console.Write­Line("Číslo je dělitelné prvočísly:");

bool prvocislo = true;

for (int i = 2; i <= a; i++)
{
for (int j = 2; j <= a; j++)
{

if (i != j && i % j == 0)
{

prvocislo = false;

}

}

if (prvocislo)
{

mezivypocet = (float)a / (float)i;

if ((mezivypocet % 1) == 0)
{

Console.WriteLine(" {0} ", i);

}

}

prvocislo = true;

}

Console.Write­Line("Pro ukončení stiskněte libovolnu klávesu.");
Console.ReadKey();

}
}
}

Editováno 21.12.2013 13:51
 
Odpovědět
21.12.2013 13:50
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Michal Kosobud
Jan Vargovský:21.12.2013 15:04

Použí tlačítko vložit zdrojový kód. Tohle ti nikdo luštit nebude.

 
Nahoru Odpovědět
21.12.2013 15:04
Avatar
coells
Tvůrce
Avatar
Odpovídá na Michal Kosobud
coells:21.12.2013 15:49

Snadno...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vložte číslo z intervalu <10 ; 1 000 000>");

            int a;
            while (!int.TryParse(Console.ReadLine(), out a) || (a < 10) || (a > 1000000))
                Console.WriteLine("Nezadali jste hodnotu z intervalu. Zadejte číslo znovu:");

            int mezivypocet = a;
            Console.WriteLine("Číslo je dělitelné prvočísly:");

            for (int i = 2; i <= a; )
            {
                if ((a % i) == 0)
                {
                    Console.WriteLine(i);
                    a /= i;
                }
                else
                {
                    i++;
                }
            }

            Console.WriteLine("Pro ukončení stiskněte libovolnu klávesu.");
            Console.ReadKey();
        }
    }
}
Editováno 21.12.2013 15:50
 
Nahoru Odpovědět
21.12.2013 15:49
Avatar
Odpovídá na coells
Michal Kosobud:5.1.2014 19:56

a aby mi to vypsalo pouze jednou to prvočíslo a ne třeba 6krát? to udělám jak prosím? :-)

 
Nahoru Odpovědět
5.1.2014 19:56
Avatar
coells
Tvůrce
Avatar
Odpovídá na Michal Kosobud
coells:5.1.2014 20:15
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Vložte číslo z intervalu <10 ; 1 000 000>");

        int a;
        while (!int.TryParse(Console.ReadLine(), out a) || (a < 10) || (a > 1000000))
            Console.WriteLine("Nezadali jste hodnotu z intervalu. Zadejte číslo znovu:");

        int mezivypocet = a;
        Console.WriteLine("Číslo je dělitelné prvočísly:");

        for (int i = 2; i <= a; i++)
        {
            if ((a % i) == 0)
            {
                Console.WriteLine(i);
                while ((a % i) == 0)
                    a /= i;
            }
        }

        Console.WriteLine("Pro ukončení stiskněte libovolnu klávesu.");
        Console.ReadKey();
    }
}
 
Nahoru Odpovědět
5.1.2014 20:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.