Можете доступно объяснить, как пользоваться схемой горнера на примере вот этого числа: 3204 в пятиричной системе счисления. а то я вроде бы понимаю, а вроде бы и нет : d
Влюбой позиционной системе счисления число 3204 можно записать как а вот сами эти действия - возведение в степень, умножение и сложение надо выполнять в той системе, в которую мы хотим сделать перевод. схема горнера используется при вычислении значений полиномов, а фактически тут мы как раз имеем дело с такой операцией, только вместо обычного х указано числовое значение 5. поэтому мы можем запись к схеме горнера:
bergamon
12.11.2020
Идем по программе от конца к началу. программа выводит значения x=1 и y=0. y = b-x ⇒ b = y+x=0+1 = 1 значение b = 1 найдено. x = (a+2*b) div 5; (a+2*1) div 5 = 1; (a+2) div 5 = 1 отметим, что div - это операция целочисленного деления, которая отбрасывает остаток. допустим, остаток был нулевой, тогда а+2 = 5 ⇒ a=3 но остаток мог быть и ненулевым! при делении на 5 остатком могут быть числа от 0 до 4, следовательно, в числителе могло быть значение на 1,2,3 или 4 большее, т.е. значение а могло быть не только 3, но и 4,5,6,7. ответ:
elenarumack
12.11.2020
// f# [< entrypoint> ] let main argv = let rec ( ** ) x n = match n < 1 with | true -> 1 | false -> x * (x ** (n-1)) let rec sumdigits x = match x with | x when x < 10 -> (x, 1) | x -> let res = x / 10 |> sumdigits ((res |> fst) + (x % 10), (res |> snd) + 1) let isarmstrong x = let digitsinfo = sumdigits x x = (fst digitsinfo) ** (snd digitsinfo) let a = system.console.readline() |> system.int32.parse let b = system.console.readline() |> system.int32.parse let result = [a..b] |> list.filter (isarmstrong) printf "result: %a" result system.console.readkey true |> ignore 0
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Можете доступно объяснить, как пользоваться схемой горнера на примере вот этого числа: 3204 в пятиричной системе счисления. а то я вроде бы понимаю, а вроде бы и нет : d