Примечание:
Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).
ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).
Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).
Пример работы:
ответ:var
n, i: word;
sum: real;
begin
write ('n = '); readln (n);
sum := 0;
for i := 1 to n do
sum := sum + 1/(i*i);
writeln (sum:6:5);
readln
end.
gene 16/06/2017
a(a-1)(a-2)(a-3)...(a-n)
var
a,n,i: integer;
mult: longint;
begin
write('Введите a: ');
readln(a);
write('Введите n: ');
readln(n);
mult := a;
for i:=1 to n do
mult := mult * (a - i);
writeln(mult);
end.
1/a + 1/(a+1)+...+1/(a+n)
var
a,n,i: integer;
sum: real;
begin
write('Введите a: ');
readln(a);
write('Введите n: ');
readln(n);
sum := 0;
for i:=0 to n do
sum := sum + 1/(a + i);
writeln(sum:5:2);
end.
Объяснение: