Navigace: Hlavní stránka -> BASIC -> 04 Cykly -> 04.24 Největší společný dělitel I

MENU

04.24 Největší společný dělitel I

Zadání:
Sestavte program, který určí největšího společného dělitele dvou přirozených čísel.
Řešení:
Řešení je postaveno na principu odečtení menšího čísla od většího a nahrazení většího čísla tímto rozdílem. Tato akce
se opakuje do té doby, dokud se obě čísla nerovnají. Pokud se rovnají, jejich hodnaota je zároveň největším
společným dělitelem.

Příklad: a=42, b=70
1. b je vetší než a, hodnotu b nahradíme rozdílem b-a: a=42, b=28
2. a je větší než b, hodnotu a nahradíme rozdílem a-b: a=14, b=28
3. b je větší než a, hodnotu b nahradíme rozdílem b-a: a=14, b=14
obě čísla se rovnají, největší společný dělitel je 14
Module Module1

    Sub Main()

        Dim a, b As Integer

        Console.Write("Zadejte prvni cislo: ")
        a = Console.ReadLine
        Console.Write("Zadejte druhe cislo: ")
        b = Console.ReadLine

        If a <= 0 Or b <= 0 Then
            Console.WriteLine("Nelze vypocitat.")
        Else
            Do
                If a > b Then
                    a = a - b
                Else
                    b = b - a
                End If
            Loop Until a = b
        End If

        Console.WriteLine("Nejvetsi spolecny delitel: {0}", a)

        Console.ReadLine()

    End Sub

End Module
program ke stažení

Pro studenty:
Program se dostane do nekonečné smyčky, pokud budou hodnoty a a b zadány shodné. Tento problém řeší program 04.25.