<em>PascalABC.NET 3.2, сборка 1488 от 21.06.2017</em>
<em>Внимание! Если программа не работает, обновите версию!</em>
function Horner(x:real;a:array of real):real;
begin
Result:=x*a.Last;
for var i:=a.Length-2 downto 1 do
Result:=x*(a[i]+Result);
Result+=a.First
end;
begin
var n:=ReadInteger('Степень полинома:');
var x:=ReadReal('x=');
var a:=ReadArrReal('Коэффициенты, начиная со свободного члена:',n+1);
Writeln('Значение полинома: ',Horner(x,a))
end.
<u>Пример</u>
Степень полинома: 9
x= -4.2
Коэффициенты, начиная со свободного члена: 4 0 0 0 0 0 3 -2 0 3
Значение полинома: -1157435.18966682
Var a,a1,a2,a3: integer;
begin
write ('Введите трехзначное число: '); read (a);
a1:=a div 100 mod 10;
a2:=a mod 100 div 10;
a3:=a mod 10;
writeln ('Полученное число: ',a3,a1,a2);
end.
как получилось:
777 делим на 16 столбиком, каждый раз смотря на остаток. последнее частное без остатка будет равняться 1 цифре искомого числа, и далее в обратном порядке пишем остатки от предыдущих частных.
777/16=48 (остаток 9)
48/16=3 (остаток 0)
3 - 1 цифра, далее остатки в обратном порядке 0 и 9, итого
81920,5120,175921860444160,128849018880
Правильный ответ Б потому как 500кбайт это 4096000 бит, и если поделить выйедт 32 сек