Эффективные
алгоритмы.
В Паскале отсутствует
возможность возведения в степень, не считая квадрата. Поэтому для получения а20
нужно а*а*а*а…*а 19 раз. Но если учесть,
что результат умножения можно сохранить в промежуточной переменной, ответ можно
найти за 5 действий.
Program
prim_1;
Var
a,b:real;
Begin
Write(‘введите
число’);
Readln(A);
В:=A*А; {получаем
А во 2 }
B:=В*В; {
получаем А в 4 }
В:=A*B; { получаем
А в 5 }
B:=В*В; {
получаем А в 10 }
B:=В*В; {
получаем А в 20 }
Writeln(‘A
в 20 степени=’,В:0:2); {Вместо
указания ширины поля для вывода числа лучше ставить 0, тогда компилятор отведет
столько позиций под целую часть, сколько получилось в ответе, а для дробной
части я посчитала возможным оставить 2 позиции}
Readln
End.
В фигурные скобки {…} в программе можно заключать
комментарий, компилятор пропускает текст, заключенный в такие скобки, а
комментарий позволяет вспомнить о чем программа если вы позднее возвращаетесь к
ее тексту.
Задание для тренировки.
1.Дано вещественное число А. Не пользуясь никакими
арифметическими операциями, кроме умножения, получить:
1)
А4 за две операции;
2)
А6 за три операции;
3)
А7 за четыре операции;
4)
А8 за три операции;
5)
А9 за четыре операции;
6)
А13 за пять операции;
7)
А15 за пять операции;
8)
А19 за пять операции;
9)
А21 за шесть операции;
10)
А28 за шесть операции.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.