Возведение числа в степень с пределом - Pascal ABC
Формулировка задачи:
Составить программу, используя оператор FOR.
Известна легенда о том, как одному могущественному индийскому радже некий мудрец оказал важную услугу. В награду за услугу раджа был готов выполнить любое желание мудреца. Мудрец попросил положить перед ним шахматную доску и на первую клетку положить одно зерно риса, на вторую два зерна, на третью клетку четыре зерна и так далее, то есть на каждую следующую клетку должно быть положено вдвое больше зерен, чем на предыдущую, и таким образом должны быть заполнены все 64 клетки шахматной доски. Как оказалось при подсчете, для выполнения просьбы мудреца не хватило бы не только всех запасов рис во владениях раджи, и всего урожая риса во всем земном шаре. Составить программу, которая определила бы на какой по счету клетке шахматной доки количество риса должно было превысить один миллион, в случае, если просьба мудреца была бы выполнена. Не знаю, как задать этот предел в 1 млн.
Листинг программы
- program two;
- var
- m,n,st:longint;
- function pow(a,x:longint):longint;
- var
- t,i:longint;
- begin
- t:=a;
- for i:=1 to x-1 do
- t:=t*a;
- pow:=t;
- end;
- begin
- writeln('введите основание: ');
- readln(m);
- writeln('введите показатель: ');
- readln(n);
- st:=pow(m,n);
- writeln('результат: ',st);
- end.
Решение задачи: «Возведение числа в степень с пределом»
textual
Листинг программы
- var k:byte;
- a:integer;
- begin
- k:=1;
- a:=2;
- while a<1000000 do
- begin
- a:=a*2;
- k:=k+1;
- end;
- writeln(' ');
- write('k=',k,' a=',a)
- end.
Объяснение кода листинга программы
- Создаются две переменные: k типа byte и a типа integer.
- Переменная k инициализируется значением 1, а переменная a - значением 2.
- Запускается цикл while, который выполняется до тех пор, пока значение переменной a меньше 1000000.
- Внутри цикла переменная a умножается на 2, а переменная k увеличивается на 1.
- После выхода из цикла выводится пробел и выводятся значения переменных k и a с помощью функции write.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д