begin ClrScr; for g:=0 to 12 do for k:=0 to 12 do for z:=0 to 12 do begin if (g+k+z=12) and (0.5*g+1.5*k+2*z=12) then WriteLn (g,' ',k, ' ', z); end; ReadLn; end.
Вывод: Можно вообще не брать красные или зеленые шары. Если брать шары всех цветов, то ответ у задачи один 7 3 2
Var x, temp, p, a, original: integer; found: boolean; begin found:=false; //переменная примет значение "истина" тогда, когда число А будет найдено в цифрах первого числа writeln('Введите натуральное число"); Readln(original); Writeln('Введите число A'); Readln(a); x:=original; p:=1; //будет хранить произведение цифр числа(если приравнять нулю, то произведение всегда будет равно нулю) while x>0 do //пока X болльше нуля begin temp:=x mod 10; //заносим последнюю цифру числа X в переменную temp if temp=a then found:=true; //если цифра числа равна A, то помечаем, что нашли ее p:=p*temp; //домножаем произведение на цифру x:=x div 10; //отбрасываем последнюю цифру числа через целочисленное деление end; Writeln('Произведение цифр числа ' + original + ' равно ' + p); if found then writeln('Цифра' + a + ' есть в исходном числе ' + original) else writeln('Цифра ' + a + ' отсутствует в оригинальном числе ' + original) end;
6 6 0
8 0 4
7 3 2
Вот программка на Паскале:
uses Crt;
var g, k, z:integer;
begin
ClrScr;
for g:=0 to 12 do
for k:=0 to 12 do
for z:=0 to 12 do
begin
if (g+k+z=12) and (0.5*g+1.5*k+2*z=12) then
WriteLn (g,' ',k, ' ', z);
end;
ReadLn;
end.
Вывод: Можно вообще не брать красные или зеленые шары.
Если брать шары всех цветов, то ответ у задачи один
7 3 2
found: boolean;
begin
found:=false; //переменная примет значение "истина" тогда, когда число А будет найдено в цифрах первого числа
writeln('Введите натуральное число");
Readln(original);
Writeln('Введите число A');
Readln(a);
x:=original;
p:=1; //будет хранить произведение цифр числа(если приравнять нулю, то произведение всегда будет равно нулю)
while x>0 do //пока X болльше нуля
begin
temp:=x mod 10; //заносим последнюю цифру числа X в переменную temp
if temp=a then found:=true; //если цифра числа равна A, то помечаем, что нашли ее
p:=p*temp; //домножаем произведение на цифру
x:=x div 10; //отбрасываем последнюю цифру числа через целочисленное деление
end;
Writeln('Произведение цифр числа ' + original + ' равно ' + p);
if found then writeln('Цифра' + a + ' есть в исходном числе ' + original)
else writeln('Цифра ' + a + ' отсутствует в оригинальном числе ' + original)
end;