Изменить решение задачи - PascalABC.NET
Формулировка задачи:
Всем привет!
Была у меня задачка: одноклеточная амёба каждые 4 часа делится на 2 клетки. Определить, сколько амёб будет через 3, 6, 9, 12, .., 24 часа.
Решил её так:
Помогите, пожалуйста. Заранее спасибо!
Преподавателя не устроили массивы. Нужно реализовать решение без их использования. Допускаются циклы, условия, математические формулы типа экспоненты и прочая грязь.
На выводе надо получить:
Амёба в 3 час деления: 1 |
Амёба в 6 час деления: 2 |
Амёба в 9 час деления: 4 |
Амёба в 12 час деления: 8 |
Амёба в 15 час деления: 8 |
Амёба в 18 час деления: 16 |
Амёба в 21 час деления: 32 |
Амёба в 24 час деления: 64 |
Решение задачи: «Изменить решение задачи»
textual
Листинг программы
var a,i:integer; begin a:=1; i:=0; while i<=24 do begin i:=i+1; if i mod 4=0 then a:=a*2; if i mod 3=0 then writeln('Амёба в ' , i:2, ' час деления: ',a:2); end; end.
Объяснение кода листинга программы
- Объявлены две переменные:
a
иi
типа integer (целое число). - Переменная
a
инициализируется значением 1, а переменнаяi
инициализируется значением 0. - Запускается цикл while, который выполняется до тех пор, пока значение переменной
i
меньше или равно 24. - Внутри цикла переменная
i
увеличивается на 1. - С помощью оператора mod проверяется, делится ли значение переменной
i
на 4 без остатка. Если да, то значение переменнойa
умножается на 2. - С помощью оператора mod проверяется, делится ли значение переменной
i
на 3 без остатка. Если да, то выводится сообщениеАмёба в i час деления: a
с указанием значения переменныхi
иa
. - Цикл while выполняется до тех пор, пока все условия не будут выполнены.
- Код заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д