Zadání:
Sestavte program, který nalezne prvočíslo dle zadaného pořadí.
Řešení:
Řešení vychází z programu 04.21. Na začátku programu vložíme do proměnné c hodnotu 1 (jedna). Pomocí cyklu
DO ... LOOP UNTIL
vždy zvýšíme hodnotu této proměnné o 1 a otestujeme, zda obsahuje prvočíslo. Pokud ano,
zvýšíme hodnotu proměnné
p o 1 (v této proměnné evidujeme počet nalezených prvočísel). Cyklus ukončíme tehdy,
když bude počet
nalezených prvočísel shodný se zadaným pořadím. Pak nalezené prvočíslo vytiskneme.
Module Module1
Sub Main()
Dim c, i, n, p As Integer
Dim prvocislo As Boolean
Console.Write("Zadejte, kolikate prvocislo chcete najit: ")
n = Console.ReadLine
c = 1
p = 0
Do
c = c + 1
prvocislo = True
For i = 2 To Math.Round(Math.Sqrt(c))
If c Mod i = 0 Then prvocislo = False
Next
If prvocislo Then p = p + 1
Loop Until p = n
Console.WriteLine("{0}.prvocislo: {1}", n, c)
Console.ReadLine()
End Sub
End Module
program ke stažení
Pro studenty:
Uvedený program předpokládá, že prvním prvočíslem je hodnota 2.