# pythagoräische tripel



## biniiiii (22. Februar 2007)

hello

also ich bin gerade dabei in visual basic ein programm zu programmierne, weiß aber nicht weiter.....
die aufgabenstellung ist
"ein Programm zu programmieren welches die Pythagoräische Tripel (ganzzahlige Seitenlängen) von rechtwinkeligen Dreiecken zu berechnen. Maximale Kathetenlänge ist 100. Umgekehrte Tripel sollen nicht angezeigt werden!"
Mein problem besteht darin, das ich nicht weiß wie ich die Wurzel in Visual Basic programmieren kann und ich weiß auch nicht wie das funktionieren soll das die umgekehrte trippel nicht angezeigt wird (umgekehrte tripel = wenn zb. 3,4,5 angezeigt wird, dann soll 4, 3, 5 nicht angezeigt werden, weil das genau die gleichen zahlen sind)
bis jetzt habe ich folgenden ansatz... aber das stimmt nicht, und ich hab irgendwas vergessen oder bin total am falschen weg..... 
bitte um hilfe

        For a = 1 To 100 Step 1
            For b = 1 To 100 Step 1
                a ^ (1 / 2) + b ^ (1 / 2)=c
                If a ^ 2 + b ^ 2 = c ^ 2 And b <= 100 Then
                    txtaus.Text = txtaus.Text & a.ToString.PadLeft(5)
                    txtaus.Text = txtaus.Text & b.ToString.PadLeft(15)
                    txtaus.Text = txtaus.Text & c.ToString.PadLeft(15)


----------



## Matthias Reitinger (22. Februar 2007)

Hallo,

ein erster naiver Ansatz wäre folgender:

```
For a = 1 To 100 Step 1
	For b = a To 100 Step 1
		For c = 1 To 100 Step 1
			If a*a + b*b = c*c Then
				REM Ausgabe...
			End If
		Next c
	Next b
Next a
```
Wobei ich mir ob der Basic-Syntax nicht so ganz sicher bin 

Grüße,
Matthias


----------



## biniiiii (22. Februar 2007)

okay daaanke danke danke


hab das jetzt so gmcht und es funktioniert bestens

For a = 1 To 100 Step 1
            For b = 1 To 100 Step 1
                For c = 1 To 100 Step 1
                    If a * a + b * b = c * c And b > a And c > b Then
                        txtaus.Text = txtaus.Text & a.ToString.PadLeft(5)
                        txtaus.Text = txtaus.Text & b.ToString.PadLeft(15)
                        txtaus.Text = txtaus.Text & c.ToString.PadLeft(15)
                        txtaus.Text = txtaus.Text & vbCrLf
                    End If
                Next
            Next
        Next


----------

