Skip to content

Instantly share code, notes, and snippets.

@kossgreim
Last active January 9, 2017 21:32
Show Gist options
  • Save kossgreim/28e8afa45324d0189050547bd23cd9c3 to your computer and use it in GitHub Desktop.
Save kossgreim/28e8afa45324d0189050547bd23cd9c3 to your computer and use it in GitHub Desktop.
PR1 - Zkouska
number = 111010
def get_each_number(number)
numbers = []
until number == 0
numbers << number % 10
number /= 10
end
numbers.reverse
end
def my_power(number, power)
res = 1
power.times do
res = res * number
end
res
end
def convert_to_decimal(number)
# converting number (integer) into an array of number,
# so we have each digit of the number separately
numbers = get_each_number(number)
decimal_number = 0
# Convert each 1 into a number according to its position and add it to the decimal_number
numbers.reverse.each_with_index do |n, i|
decimal_number += my_power(2, i) if n == 1
end
decimal_number
end
p convert_to_decimal(number)
@kossgreim
Copy link
Author

Máš binárně zapsaný číslo třeba n = 1011 a máš ho převést do desítkový soustavy, přičemž nesmíš převádět datový typy a z matematickejch operací můžeš použít jen + - * / Math.log a Math.exp. Nesmíš použít ** (umocnění).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment