1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу. 2. Немного изменим ваш код и получим искомое значение x Искомое число х = 16293
var x, y, a, b, k: integer;
begin k:=10000; repeat x:=k; a := 0; b := 0; y := 1; while x > 0 do begin if (x mod 10) mod 2 = 0 then a := a * 10 + x mod 10 else begin y := y * 10; b := b * 10 + x mod 10 end; x := x div 10 end; a := a * y + b; k := k + 1; until a = 26391; writeln(a:8, k-1:8); end.
Саша: «Я никогда не призывал к прогулу {ЛОЖЬ}, это была идея Коли {ЛОЖЬ}».
Коля: «Я никогда не предложил бы это первым{ПРАВДА}, во всем виноват Вова{ЛОЖЬ}».
Вова: «Эта идея пришла в голову Коле{ЛОЖЬ}. Я просто пошел за компанию{ПРАВДА}».
ОТвет: Зачинщик Саша.
2}
Допустим, первый болельщик ошибся насчёт Димы. Тогда:
Первый: «первым будет Дима{ЛОЖЬ}, а Миша будет вторым{ПРАВДА}»
Второй: «Катя займет четвертое место{ПРАВДА}, а второе место достанется Нине{ЛОЖЬ}»
Третий: «Катя займет третье место{ЛОЖЬ}, а на втором месте будет Дима{ПРАВДА}»
Это противоречит условию, потому что получается что второе место заняли сразу и Нина и Дима. Значит первый болельщик угадал, что Дима будет на 1-м месте:
Первый: «первым будет Дима{ПРАВДА}, а Миша будет вторым{ЛОЖЬ}»
Второй: «Катя займет четвертое место{ЛОЖЬ}, а второе место достанется Нине{ПРАВДА}»
Третий: «Катя займет третье место{ПРАВДА}, а на втором месте будет Дима{ЛОЖЬ}»
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293
var
x, y, a, b, k: integer;
begin
k:=10000;
repeat
x:=k;
a := 0; b := 0; y := 1;
while x > 0 do
begin
if (x mod 10) mod 2 = 0
then
a := a * 10 + x mod 10
else begin
y := y * 10;
b := b * 10 + x mod 10
end;
x := x div 10
end;
a := a * y + b;
k := k + 1;
until a = 26391;
writeln(a:8, k-1:8);
end.
1}
Саша: «Я никогда не призывал к прогулу {ЛОЖЬ}, это была идея Коли {ЛОЖЬ}».
Коля: «Я никогда не предложил бы это первым{ПРАВДА}, во всем виноват Вова{ЛОЖЬ}».
Вова: «Эта идея пришла в голову Коле{ЛОЖЬ}. Я просто пошел за компанию{ПРАВДА}».
ОТвет: Зачинщик Саша.
2}
Допустим, первый болельщик ошибся насчёт Димы. Тогда:
Первый: «первым будет Дима{ЛОЖЬ}, а Миша будет вторым{ПРАВДА}»
Второй: «Катя займет четвертое место{ПРАВДА}, а второе место достанется Нине{ЛОЖЬ}»
Третий: «Катя займет третье место{ЛОЖЬ}, а на втором месте будет Дима{ПРАВДА}»
Это противоречит условию, потому что получается что второе место заняли сразу и Нина и Дима. Значит первый болельщик угадал, что Дима будет на 1-м месте:
Первый: «первым будет Дима{ПРАВДА}, а Миша будет вторым{ЛОЖЬ}»
Второй: «Катя займет четвертое место{ЛОЖЬ}, а второе место достанется Нине{ПРАВДА}»
Третий: «Катя займет третье место{ПРАВДА}, а на втором месте будет Дима{ЛОЖЬ}»
ОТвет: места распределились так: Дима 1-е, Нина 2-е, Катя 3-е, Миша 4-е
3}
Поскольку все назвали разные веса, то угадал только один. Значит двое других оба угадали материал. Это возможно только если гирька медная. Значит:
Алеша: «латунь{ЛОЖЬ}, 5 г{ПРАВДА}»
Витя: «медь{ПРАВДА}, 3 г{ЛОЖЬ}»
Игорь: «не латунь{ПРАВДА}, 4 г{ЛОЖЬ}».
ОТвет: медная гирька весом 5 г