Var s:string; n,i:integer; ych:array[1..99999] of string; begin writeln('Введите кол-во учеников'); readln(n); for i:= 1 to n do begin readln(s); if s[1] = 'В' then ych[i]:=s; end; writeln('Начинаются на В'); for i:= 1 to n do if ych[i]<>'' then writeln(ych[i]); end.
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) => не может быть результатом работы автомата.
Программа: #include <iostream> using namespace std; int main() { int a=5; int b=4; int c; cout << "Количество яблок у Васи = " << a << "\n"; cout << "Количество яблок у Пети = " << b << "\n"; cout << "Количество яблок у Васи и Пети вместе = " << a+b << "\n"; c=(a+b)/3; cout << "Если разделить на 3-х поровну, то получится = " << c << "\n"; return 0; }
Результат: Количество яблок у Васи = 5 Количество яблок у Пети = 4 Количество яблок у Васи и Пети вместе = 9 Если разделить на 3-х поровну, то получится = 3
n,i:integer;
ych:array[1..99999] of string;
begin
writeln('Введите кол-во учеников');
readln(n);
for i:= 1 to n do
begin
readln(s);
if s[1] = 'В' then
ych[i]:=s;
end;
writeln('Начинаются на В');
for i:= 1 to n do
if ych[i]<>'' then
writeln(ych[i]);
end.