<em>// PascalABC.NET 3.2, сборка 1367 от 20.12.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var t:integer;
var k:=0;
repeat
Read(t);
if t.ToString.Where(c->c='5').Count=2 then k+=1
until t=0;
Writeln('Количество чисел с двумя пятерками равно ',k)
end.
Этот значок обозначает возведение в степень
Const n=10;
var
a: array[1..n] of integer;
p,k: integer;
i: byte;
begin
randomize;
p:=1; k:=0;
for i:=1 to n do begin
a[i]:=random(21);
if (a[i]>0) and (a[i] mod 6 =0) then begin
p:=p*a[i];
k:=k+1;
end;
end;
println (a);
if k>1 then writeln ('Произведение элементов, кратных 6, = ',p)
else if k=1 then writeln ('Найден всего 1 элемент, кратный 6, - ',p)
else writeln ('Нет элементов, кратных 6')
end.
-----------------------------------
Примеры:
15 7 14 14 1 17 4 2 20 10
Нет элементов, кратных 6
12 11 16 1 20 6 0 8 7 20
Произведение элементов, кратных 6, = 72
14 6 8 3 15 7 14 5 19 15
Найден всего 1 элемент, кратный 6, - 6
Такие задачи решаются с помошью таблицы и внимательно изучая факты она заполняется. Потом используется метод исключения.
Всю задачу расписывать очень долго. Я приведу только один пример:
Коршунов - самый молодой, а химик старше историка, следовательно Коршунов не химик (он не может быть старше кого бы то ни было, потому что самый младший).