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í