Возведение числа в степень с пределом - Pascal ABC
Формулировка задачи:
Составить программу, используя оператор FOR.
Известна легенда о том, как одному могущественному индийскому радже некий мудрец оказал важную услугу. В награду за услугу раджа был готов выполнить любое желание мудреца. Мудрец попросил положить перед ним шахматную доску и на первую клетку положить одно зерно риса, на вторую два зерна, на третью клетку четыре зерна и так далее, то есть на каждую следующую клетку должно быть положено вдвое больше зерен, чем на предыдущую, и таким образом должны быть заполнены все 64 клетки шахматной доски. Как оказалось при подсчете, для выполнения просьбы мудреца не хватило бы не только всех запасов рис во владениях раджи, и всего урожая риса во всем земном шаре. Составить программу, которая определила бы на какой по счету клетке шахматной доки количество риса должно было превысить один миллион, в случае, если просьба мудреца была бы выполнена. Не знаю, как задать этот предел в 1 млн.
Решение задачи: «Возведение числа в степень с пределом»
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.