Last active
January 9, 2017 21:32
-
-
Save kossgreim/28e8afa45324d0189050547bd23cd9c3 to your computer and use it in GitHub Desktop.
PR1 - Zkouska
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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í).