Объяснение кода №1;
var s, n: integer; //Объявление переменных
begin //Начало программы
s:=100 //Значение переменной S равняется 100
n:=300 //Значение переменной n равняется 300
while s+n <= 600 do
//Цикл while выполняется до тех пор, пока истинно условие s + n <= 600, т. е. сумма s и n определяет, сколько раз выполнится цикл.
begin
//Следовательно, два действия s := s + 40 и n := n − 20 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждом повторе (умными словами итерации) добавляется 20.
s:= s+40
n:=n-20
end
//Решим уравнение: 400 + x > 600.
Цикл остановится, когда x будет больше 200. Поскольку каждый раз добавляется по 20, будет 11 повтор.
По итогу, получится на 11-ой итерации: 100 + 40 * 11 = 540.
Объяснение кода №2;
//Объяснения немного короче напишу
var s, n: integer;
begin
s:=500
n:=200
//Цикл while выполняется до тех пор, пока истинно условие s div n >= 2, т. е. целочисленное деление s на n определяет, сколько раз выполнится цикл.
while s div n >= 2 do begin
s:= s+5
n:= n+5
end
//Следовательно, каждый раз к обеим переменным прибавляется по 5. Целочисленное деление s на n будет меньше 2 тогда, когда s примет значение 605, а n — значение 305.
Совет: Если ты вдруг 10 или 11 класс, и не понимаешь данные штуки, можешь не вникать уже в них, поздно. Изучай си, си++ в универе пригодится :)
Чтобы дать 400 единицам техники уникальные номера, нам понадобится использовать 9 бит памяти занимает каждый номер. Разберёмся, почему:
Есть формула N<=2^i, где N - количество объектов, которым надо дать уникальные "коды", а i - длина кода
В нашей задаче N=400
400<=2^i - ближайшее значение i, являющееся решением неравенства будет 9:
400<=2^9
400<=512
Делаем вывод: каждый номер будет записан в 9 битах.
У нас проехало 60 машин, номер каждый весит 9 бит, значит вся информация весит 9*60 бит = 540 бит
k, n: byte;
t: integer;
begin
readln(n);
for i: byte := 1 to n do
begin
readln(t);
if ((t > 0) and (t mod 3 = 0)) then
k += 1;
end;
writeln(k);
end.
алг
нач
цел k, i, n, t
k := 0
ввод n
нц для i от 1 до n
ввод t
если ((t > 0) и (mod(t, 3) = 0)) то
k := k + 1
все
кц
вывод k
кон