Игра рассчитана на 2 игрока. Всего играло 4 человека. В результате всех игр каждый поиграл с каждым по 2 раза. Определить какое количество информации несет в себе сообщение об одной из этих игр.
1) Сразу ясно, что невозможно, так как максимальное число, которое мы можем получить - это 81 (пермножается наибольшая цифра 9) 2) Здесь уже надо подумать. Из нашего условия видно, что второе число повторяется дважды и там и там. То есть эти два числа (в данном случае 35 и 56) будут иметь одинаковый множитель "второе число". На это и будем опираться. Посмотрим. 35 можно получить из произведения 5 на 7, а число 56 - из произведения 8 на 7. Заметим, что цифра 7 повторяется там и там, то бишь это и есть наша вторая цифра => может оказаться результатом работы автомата. 3) Здесь 32 можно получить, перемножив цифры 8 и 4, а 16 - 2 на 8. Повторяется 8 => может оказаться результатом работы автомата. 4) Делители 35 - это 5 и 7, у 72 - это 9 и 2^3 (8). Здесь уже нет общих делителей. (9 умножить на 2 не получиться, так как это уже будет не цифрой. Только 9 и 8) => не может быть результатом работы автомата.
Var SurName : Array [1..30] of String; Mark : Array [1..30] of Real; Cand : Array [1..30] of String; NPupil, K : Integer;
BEGIN Write('Сколько всего учеников ? '); ReadLn(NPupil); WriteLn('Введите фамилии и оценки учеников :'); For var i := 1 to NPupil do begin Write(i, '. Фамилия - '); ReadLn(SurName[i]); Write(' Оценка - '); ReadLn(Mark[i]); end; WriteLn; K:=0; For var i := 1 to NPupil do If Mark[i]=2 then begin K:=K+1; Cand[K] := SurName[i] end; If K=0 then WriteLn('В КЛАССЕ НЕТ ДВОЕЧНИКОВ.') else begin WriteLn('ДВОЕЧНИКИ :'); For var i := 1 to K do WriteLn( i, '. ' , Cand[i]); end; END.
2) Здесь уже надо подумать. Из нашего условия видно, что второе число повторяется дважды и там и там. То есть эти два числа (в данном случае 35 и 56) будут иметь одинаковый множитель "второе число". На это и будем опираться. Посмотрим. 35 можно получить из произведения 5 на 7, а число 56 - из произведения 8 на 7. Заметим, что цифра 7 повторяется там и там, то бишь это и есть наша вторая цифра => может оказаться результатом работы автомата.
3) Здесь 32 можно получить, перемножив цифры 8 и 4, а 16 - 2 на 8. Повторяется 8 => может оказаться результатом работы автомата.
4) Делители 35 - это 5 и 7, у 72 - это 9 и 2^3 (8). Здесь уже нет общих делителей. (9 умножить на 2 не получиться, так как это уже будет не цифрой. Только 9 и 8) => не может быть результатом работы автомата.
Более кратко будет так:
1)нет
2)да
3)да
4)нет
SurName : Array [1..30] of String;
Mark : Array [1..30] of Real;
Cand : Array [1..30] of String;
NPupil, K : Integer;
BEGIN
Write('Сколько всего учеников ? ');
ReadLn(NPupil);
WriteLn('Введите фамилии и оценки учеников :');
For var i := 1 to NPupil do
begin
Write(i, '. Фамилия - ');
ReadLn(SurName[i]);
Write(' Оценка - ');
ReadLn(Mark[i]);
end; WriteLn;
K:=0;
For var i := 1 to NPupil do
If Mark[i]=2 then
begin
K:=K+1;
Cand[K] := SurName[i]
end;
If K=0 then WriteLn('В КЛАССЕ НЕТ ДВОЕЧНИКОВ.')
else
begin
WriteLn('ДВОЕЧНИКИ :');
For var i := 1 to K do WriteLn( i, '. ' , Cand[i]);
end;
END.