Woran ich gerade gearbeitet habe Es sollte eine positive Ganzzahl eingegeben und True ausgegeben werden, wenn sie kleiner oder gleich einem Vielfachen von 10 und andernfalls False war.
Unten ist meine Antwort.
def near_ten(num)
basis = (num + 5) / 10 * 10
difference = (num - basis).abs
if difference <= 2
puts "True"
else
puts "False"
end
end
Zunächst sei "Basis" ein Vielfaches von 10, das "num" am nächsten kommt.
Die zweite Zeile berechnet die Zahlen, die für "Basis" geeignet sind.
basis = (num + 5) / 10 * 10
Wenn es sich beispielsweise um eine Ganzzahl von 15 bis 24 handelt, ist das nächste Vielfache von 10 20, daher möchte ich 20 als Referenz verwenden. Addiere 5 zu jeder dieser ganzen Zahlen, um 20-29 zu erhalten. Diese ganzen Zahlen haben 2 an der Zehnerstelle. Wenn Sie also "/ 10 * 10" ausführen, werden 20 ausgegeben. Dies ist die Zahl, die Sie als Referenz verwenden möchten.
Andere ganze Zahlen funktionieren genauso gut.
Dies vervollständigt den "Basis" -Teil.
Als nächstes wird die Differenz zwischen der ursprünglichen Nummer und diesem Standard berechnet.
num - basis
Wenn nichts unternommen wird, kann der Unterschied negativ sein, daher verwende ich eine Methode, die einen absoluten Wert ergibt.
(num - basis).abs
Dann ersetzen Sie dies
difference = (num - basis).abs
Wenn die auf diese Weise erhaltene Differenz "Differenz" 2 oder weniger beträgt, reicht es aus, sie zu beurteilen und zu beenden.
if difference <= 2
puts "True"
else
puts "False"
end
Recommended Posts