Узнать количество памяти, которое занимает каждый символ
Program ryazantsev;
var n,k,i,b,sum:integer;
begin
readln(n,k);
sum:=trunc((1+n)/2*n); //Преобразование типа real к int, trunc можно безопасно использовать, т.к. сумма n членов арифметической последовательности целых чисел - всегда целое число
if sum mod k <> 0 then writeln(0)
else begin
for i:=1 to k do begin
b:=1;
while b<n/k do begin
write(i+b-1, ' ', n-i-b+2, ' ');
b:=b+k
end;
writeln()
end
end;
end.
Пример входных данных, при которых программа выведет ноль: 6 2
И ещё, задачка должна быть оценена явно больше, чем на пять баллов)
Моё решение - во вложении
Летающий автобус)
1. Мест в эконом-классе 120, а в бизнес-классе 40.
2. 100 процентов прибыли получим, если заполним все места. Билет в эконом-классе стоит в 2 раза меньше чем X. Получаем следующее уравнение:
40*X + 0.5*120*X = 100%, X = 1% от всей прибыли. Значит один билет в бизнес - классе приносит один процент прибыли. А один билет в эконом-классе приносит 0.5 процента прибыли.
3. Осталось рассчитать прибыль компании учитывая непроданные билеты:
P = 100 - b - 0.5*a и написать программу:
var a,b:integer;
begin
repeat
writeln('Введите количество непроданных билетов (a,b)');
readln(a,b);
until (a<=120) and (b<=40)and (a>=0) and (b>=0);
writeln('Прибыль компании составит ',100-b-0.5*a,'%');
end.