Решал на паскале.
Первая:
var i:integer; s:string; a:array[1..3] of integer; t.q,z: boolean;
begin
readln(i); q:=false; t:=false;
a[1]:=i mod 10;
a[2]:=i div 10 mod 10;
a[3]:=i div 10 div 10;
for i:=1 to 3 do
begin
if a[i]=4 then
q:=true;
if (a[i]=7) and (q=true) then t:=true;
if a[i]=7 then z:=true;
end;
if t=true then writeln('Vhodyat oba) else if (q=true) and (z=false) then writeln('Vhodit 4') else if (q=false) and (z=true) then writeln('Vhodut 7');
readln;
end.
Вторая:
var a,b,c,min:integer;
begin
min:=32000;
readln(a,b,c);
if a<min then min:=a; if b<min then min:=b; if c<min then min:=c;
writeln ('Minimalnoe - ',min);
readln;
end.
Третья:
var a,b,c:integer; x,y,d:real;
begin
readln(a,b,c);
d:=b*b-(4*a*c);
if d=0 then
begin
x:=(-b/2*a);
writeln('One root: ',x:0:0);
end;
if d>0 then
begin
x:=(-b+sqrt(d))/2*a;
y:=(-b-sqrt(d))/2*a;
if y>x then
writeln('Two roots: ',x:0:0,' ',y:0:0) else writeln('Two roots: ',y:0:0,' ',x:0:0);
end;
if d<0 then writeln('No roots');
readln;
end.:
Здесь лучше всего делать подбором, числа я обозначил жирным шрифтом:
Пусть первой буквой будет А:
А А 3 = 3 (1*1*3 = 3, означает что таких слов может быть 3 штуки)
А В 3 = 3
А У 0 = 0 (1*1*0 = 0, здесь таких слов не может быть, так как в конце должна стоять согласная буква, но после У в алфавитном порядке таких букв нет)
А З 2 = 2
А М М = 1
А И М = 1
Пусть первой буквой будет В:
В В 3 = 3
В У 0 = 0
В З 2 = 2
В М М = 1
В И М = 1
Пусть первой буквой будет М:
М М М = 1
М У 0 = 0
Пусть первой буквой будет З:
З З 2 = 2
З У 0 = 0
З М М = 1
З И М = 1
Пусть первой буквой будет У:
У 0 0 = 0
Пусть первой буквой будет И:
И М М = 1
И И М = 1
В итоге складываем существующие слова: 3+3+0+2+1+1+3+0+2+1+1+1+0+2+0+1+1+0+1+1 = 10 + 7 + 1 + 4 + 0 + 2 = 24
ответ: 24