Есть ответ 👍

Напишите наиболее короткие вычисления выражений: x^45, x^21, x^17, x^11 в выражениях можно использовать лишь сложение, вычитание, умножение. не использовать power, через sqr

190
362
Посмотреть ответы 2

Ответы на вопрос:

bar569
4,8(78 оценок)

R: =sqr(sqr(sqr(sqr(sqr(x))*x)*x))*x; // 45 r: =sqr(sqr(sqr(sqr(x))*x))*x; // 21 r: =sqr(sqr(sqr(sqr(*x; // 17 r: =sqr(sqr(sqr(x))*x)*x; // 11 пример полной программы, реализующей такой алгоритм // pascalabc.net 3.3, сборка 1611 от 06.01.2018 // внимание! если программа не работает, обновите версию! function dec2bin(x: integer): string; begin   var t: =x;   var r: string: ='';   while t> =2 do (r,t): =(t mod 2+r,t shr 1);   result: =t+r end; function pow(x: real; n: integer): real; // быстрое возведение в степень "слева направо" begin   var m: =dec2bin(n);   result: =x;   for var i: =2 to m.length do begin       result: =sqr(result);       if m[i]='1' then result*=x       end end; begin   var x: =readreal('укажите основание х: ');   var n: =readinteger('укажите степень n: ');   writeln(x,'^',n,' = ',pow(x,n)) end. примеры укажите основание х: 0.918 укажите степень n: 39 0.918^39 = 0.0355520433528712 укажите основание х: -2 укажите степень n: 15 -2^15 = -32768 укажите основание х: 12.6 укажите степень n: 23 12.6^23 = 2.03480378921486e+25
ZEROBONE
4,7(56 оценок)

Var   a,b: integer; begin   write('введите два натуральных числа '); readln(a,b);   while a< > b do       if a > b then a : = a - b       else b : = b - a;   writeln('нод=',a) end. тестовое решение: введите два натуральных числа 28 16 нод=4

Популярно: Информатика