Разъяснения разместил в код программы в виде комментариев
//Объявление переменных //n - количество чисел //p - произведение найденных чисел //i - переменная для организации цикла var n, p, i: integer;
begin //Переменная p = 1, //так как в процессе работы программы в ней //накапливается произведение найденных чисел p := 1; write('Введите количество чисел '); //В n - количество вводимых чисел readln(n); // цикл со счетчиком в котором вводим n чисел, for i := 1 to n do // Проверяем очередное значение i на кратность 3 // и выясняем, заканчивается ли это число на 1. // Для этого используем целочисленное деление. // mod - остаток от деления // если i mod 3 = 0, значит i кратно 3 // если i mod 10 = 1, значит i оканчивается на 1
if (i mod 3 = 0) and (i mod 10 = 1) then p := p * i; //умножим p на найденное число //Вывод произведения найденных чисел writeln('Искомое произведение ', p); end.
Тестовое решение: Введите количество чисел 81 Искомое произведение 86751
1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 program program1; var s,subs:string;c:char;isOneNumber:boolean;p:byte;n,err:integer; begin writeln('‚Введите фразу'); readln(s); c:=s[1]; isOneNumber:=false; p:=pos(' ',s); while p<>0 do begin if p=1 then begin s:=copy(s,2,length(s)); p:=pos(' ',s); continue; end; subs:=copy(s,1,p-1); s:=copy(s,p+1,length(s)); p:=pos(' ',s); val(subs,n,err); if err<>0 then continue; if (n=0) or (n>9) then continue; isOneNumber:=true; break; end; if isOneNumber then writeln('‚ Есть числа, сосотоящие из одной цифры') else writeln('‚Нет чисел, состоящих из одной цифры'); end.
кажьойаь