В классе учатся `26` человек. Назовём человека скромным, если у него в классе не более трёх друзей. Оказалось, что у каждого в классе скромными оказались не менее трёх друзей. Найдите все возможные варианты количества скромных людей в классе. В качестве ответа укажите сумму найденных значений.
USES CRT;
VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;
BEGIN
ClrScr;
ReadLn(n);
m1:=n;
n1:=m1 div 100;
n2:=m1 mod 10;
n3:=(m1-n1*100-n2) div 10;
if n1=n2 then if n1=n3 then writeln('vse =');
if n1=n2 then writeln('1 i 3 =');
if n2=n3 then writeln('2 i 3 =');
if n1=n3 then writeln('1 i 2 =')
else writeln('<>');
END.
Проверяйте, что непонятно - спрашивайте.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
Всего хорошего.
Будем рассматривать каждую итерацию.
Создаём 2 переменные, x со значением 13 и y со значением 2.
Условие y < 12 ? т.е. 2 < 12 ?
Да!
Переходим к следующему условию, y <= x ?
Да!
От x отнимаем 3 и y умножаем на 2.
Итог: x = 10, y = 4
Возвращаемся к условию y < 12 ?
Да!
y <= x ?
Да!
От x отнимаем 3 и y умножаем на 2.
Итог: x = 7, y = 8
Возвращаемся к условию y < 12 ?
Да!
y <= x ?
Нет!
От y отнимаем 3, умножаем x на y
Итог: y = 5, x = 35
Возвращаемся к условию y < 12 ?
Да!
y <= x ?
Да!
От x отнимаем 3 и y умножаем на 2.
Итог: x = 32, y = 10
Возвращаемся к условию y < 12 ?
Да!
y <= x ?
Да!
От x отнимаем 3 и y умножаем на 2.
Итог: x = 29, y = 20
Возвращаемся к условию y < 12 ?
Нет!
Конец алгоритма.
Конечные значения переменных: x = 29, y = 20.