Werkt niet hellemaal correcte?

Status
Niet open voor verdere reacties.

zettekakkers

Gebruiker
Lid geworden
21 jul 2011
Berichten
134
invoer moet verschillend zijn van 0, positief geheel getal
als het getal even is /2
als het oneven is *3 +1
tot dat je eindigt met 1
voorbeeld
invoer= 5
gevormde reeks: 5 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
mijn code
[CPP]
Dim intGetal, intNieuweGetal As Integer

Console.WriteLine("Geef een getal: ")
intGetal = Integer.Parse(Console.ReadLine)
'groter blijven als 0
If intGetal > 0 Then

'tot het getal eindigt met 1
Do Until intGetal = 1

'is het wel een even getal
If intGetal Mod 2 = 0 Then

intNieuweGetal = CInt(intGetal / 2)
intGetal = intNieuweGetal
Console.WriteLine(intGetal)
Else

'oneven getal
intNieuweGetal = intGetal * 3 + 1
intGetal = intNieuweGetal
Console.Write(intGetal)
End If
Loop
End If

Console.WriteLine("Press any key to close")
Console.ReadKey()
[/CPP]
ik krijg enkel dit: als ik 5 invoer?
5
168
4
2
1
Press any key to close
 
Dat klopt ook wan de correcte reeks is: 5 16 8 4 2 1
5*3+1=16
 
Je schrijft write inplaats van writeline als het getal oneven is.

De output bij 5 =,
5, 16, 8, 4, 2, 1

Jij krijgt

5
168
4
2
1

Dus het klopt
 
Wat is er volgens jou niet pluis?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan