avdeevo
?>

Заполнить массив из 20 элементов по образцу (1, 2, 4, 8, 16, 32, 64, …)

Информатика

Ответы

Девяткина_Арсений
Var a: array[1..20] of integer; i: integer; begin a[1]: =1; for i: =2 to 20 do a[i]: =a[i-1]*2; for i: =1 to 20 do write(a[i],' '); end.
irinasolodova3
Алгоритм может быть, например, таким. если нужно вывести нулевое число фибоначчи, выведем 1, иначе будем считать. сохраним в переменную номер текущего числа фибоначчи (изначально 1) и значения текущего и предыдущего элементов (в начале 1 и 1), затем в цикле будем пересчитывать значения элементов, увеличивая номер текущего элемента. когда номер элемента совпадёт с нужным, выведем ответ. реализация (python 3): n = int( if n == 0:     print(1) else:     prev, curr = 1, 1     i = 1     while i < n:         curr, prev = prev + curr, curr         i += 1     print(curr) запустив программу, можно узнать, что f10 = 89, f25 =  121393, а f40 =  165580141
Казаков

#ruby 2

def getnumberbyposition(start_num, end_num, k, n = 3)

    # p [start_num, end_num, k, n]

    if not start_num.between? (10**(n - 1),10**n - 1) or not end_num.between? (10**(n - 1),10**n - 1) then return end

    s = ""

    for   i in start_num..end_num

        s += i.to_s()

    end

    number = start_num + (k-1) / n

    if number > end_num

        puts "выход за пределы"

        return

    end

    # p number

    upper_limit = n + 1 - ((k % n == 0) ? n : k % n)

    number = number % (10**upper_limit)

    # p [number, 10**upper_limit, upper_limit]

    low_limit = upper_limit - 1

    number = number / (10**low_limit)

    # p [number, 10**low_limit, low_limit]

    puts "#{number} = #{s[k-1]}"

end

getnumberbyposition(101,150,20,3)

getnumberbyposition(101,150,21,3)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Заполнить массив из 20 элементов по образцу (1, 2, 4, 8, 16, 32, 64, …)
Ваше имя (никнейм)*
Email*
Комментарий*