Navigace: Hlavní stránka -> BASIC -> 04 Cykly -> 04.23 Rozklad čísla na prvočinitele

MENU

04.23 Rozklad čísla na prvočinitele

Zadání:
Sestavte program, který provede rozklad zadaného čísla na prvočinitele.
Řešení:
Na začátku programu si vložíne do dělitele hodnotu 2 a dělíme zadané číslo tímto dělitelem do té doby, dokud
nenastane nenulový zbytek. Tuto oparaci provádíme cyklem DO WHILE. Po každém vydělení vytiskneme dělitele a číslo
vydělíme dělitelem. Pokud nastane nenulový zbytek, zvýšíme dělitele o 1 a operaci opakujeme do té doby, dokud
nebude mít číslo hodnotu 1.

Příklad pro číslo 120:
120 mod 2 = 0, vytiskneme 2 a podělíme číslo 120 div 2 = 60
60 mod 2 = 0, vytiskneme 2 a podělíme číslo 60 div 2 = 30
30 mod 2 = 0, vytiskneme 2 a podělíme číslo 30 div 2 = 15
15 mod 2 = 1, zvýšíme hodnotu dělitele o 1 na 3
15 mod 3 = 0, vytiskneme 3 a podělíme číslo 15 div 3 = 5
5 mod 3 = 2, zvýšíme hodnotu dělitele o 1 na 4
5 mod 4 = 1, zvýšíme hodnotu dělitele o 1 na 5
5 mod 5 = 0, vytiskneme 5 a podělíme číslo 5 div 5 = 1
číslo má hodnotu 1, program končí

Module Module1

    Sub Main()

        Dim cislo, delitel As Integer

        Console.Write("Zadejte cislo: ")
        cislo = Console.ReadLine

        delitel = 2

        Console.Write("Prvocinitele: ")

        Do
            Do While cislo Mod delitel = 0
                cislo = cislo \ delitel
                Console.Write("{0} ", delitel)
            Loop
            delitel = delitel + 1
        Loop Until cislo = 1

        Console.ReadLine()

    End Sub

End Module
program ke stažení