2014-03-17 2 views
-1

Как найти наибольший общий делитель для 3 значений текстовых полей и сделать его apper в четвертом текстовом поле?Как найти самый общий общий делитель?

Public Class Form1 
    Dim a As Integer 
    Dim b As Integer 
    Dim c As Integer 
    Dim d As Integer 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     a = Val(TextBox1.Text) 
     b = Val(TextBox2.Text) 
     c = Val(TextBox3.Text) 
     d = Val(TextBox4.Text) 

     ------------------------- Val(TextBox4.Text) = ---------------- 

    End Sub 
End Class 
+0

Это математика, а не программирование –

+0

См: [Наибольший общий делитель/С помощью алгоритма Евклида] (http://en.wikipedia.org/wiki/Greatest_common_divisor#Using_Euclid.27s_algorithm) –

ответ

1

Прежде всего, необходимо установить наибольшее минимальное значение для наибольшего общего знаменателя:

Dim minimum As Integer If a <= b And a <= c minimum = a Else If b <= a And a <= c minimum = b Else If c <= a And a <= b minimum = c End If

Используйте цикл и уравнений Mod следующим образом:

For i As Integer = minimum To 1 Step -1 If a Mod i = 0 And b Mod i = 0 And c Mod i = 0 Return i End If Next

Это будет устанавливать минимальное число как переменный минимум и считать вниз, пока у меня не останется остатков для a, b и c, thu с наибольшим общим знаменателем.

+0

Это 'Если <= Ь И a <= c Then'. То же самое с остальными 'Else If'. Или 'minimum = Math.Min (a, b) minimum = Math.Min (минимум, c)' –

+0

Спасибо, полностью пропустил это. –

Смежные вопросы