Мы точно знаем, что Егор живет не в Москве и не в Воронеже, значит он живет в Волгограде. Значит Роман живет либо в Москве, либо в Воронеже. Мы также знаем, что москвич не физик, он либо математик, либо биолог, но раз мы точно знаем, что житель Воронежа математик, значит в Москве живет биолог. Если в Воронеже живет математик, а в Москве живет биолог, значит житель Волгограда Егор - физик. Роману остается учиться либо на математика, либо на биолога. Но мы точно знаем, что Игорь не биолог, значит Игорь - математик, а Роман - биолог. Мы знаем, что житель Воронежа математик, значит в Воронеже живет Игорь, а Роману остается Москва. ответ: Роман по специальности биолог, он живет в Москве.
function IsNice(n:longint):boolean; // Отвечает на вопрос, является ли число красивым var d,nd,sd:byte; begin sd:=0; nd:=0; repeat d:=n mod 10; sd:=sd+d; Inc(nd); n:=n div 10 until n=0; IsNice:=(sd mod nd = 0) end;
var i,n,k:longint; begin Write('Порядковый номер "красивого" числа: '); Read(n); i:=1; k:=0; repeat if IsNice(i) then Inc(k); if k<>n then Inc(i) until k=n; Writeln('Красивое число равно ',i) end.
Тестовое решение: Порядковый номер "красивого" числа: 15 Красивое число равно 20
ответ: Роман по специальности биолог, он живет в Москве.