//Ошибка в if.
//В принципе можно обойтись и без вычисления s. Просто
//прерывать цикл при несовпадении двух шестеренок и
//выводить NO
var
n, s, i, m, m1: int64;
begin
s := 0;
Read(n, m1);
for i := 1 to n - 1 do
begin
Read(m);
if m = m1 then
S := s + 1;
m := m1;
end;
if (s = n - 1) then
Write('YES');
if (s <> n - 1) then
Write('NO');
end.
Летающий автобус)
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.
Скорее всего нужно найти количество до n-нного числа, тогда:
var n: integer;
begin
readln(n);
writeln((n div 3) div 2);
end.
поставь пожалуйста как лучший ответ, к тому же решение довольно хитрое
PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018
Внимание! Если программа не работает, обновите версию!
begin
ReadSeqIntegerWhile(t->t<>0).Where(t->(t mod 7=0) and (t mod 10=3)).Sum.Println
end.