Задание...
Найти все такие трехзначные числа (и их количество), сумма цифр которых равна произведению цифр. Ответ записать в файл OL1.OUT, где первая строка должна содержать количество чисел, а следующие - сами числа.
:???: :???: :???:
Напишите код оч. вас прошу!
Помогите, плиз, как на паскале сделать вот это:
Найти все такие трехзначные числа (и их количество), сумма цифр которых равна произведению цифр. Ответ записать в файл OL1.OUT, где первая строка должна содержать количество чисел, а следующие - сами числа.
:???: :???: :???:
Напишите код оч. вас прошу!
Лови
program chisl;
var i,a,b,c,d,e:integer;
t:text;
Begin
assign(t,'ol1.out');
rewrite(t);
e:=0;
for i:=100 to 999 do
begin
d:=i;
a:=d mod 10;
d:=d div 10;
b:=d mod 10;
c:=d div 10;
if (a*b*c)=(a+b+c) then
begin
inc(e);
writeln(t,e,'---->',i);
end;
end;
flush(t);
close(t);
readln;
end.
Будут вопросы - пиши
Лови
program chisl;
var i,a,b,c,d,e:integer;
t:text;
Begin
assign(t,'ol1.out');
rewrite(t);
e:=0;
for i:=100 to 999 do
begin
d:=i;
a:=d mod 10;
d:=d div 10;
b:=d mod 10;
c:=d div 10;
if (a*b*c)=(a+b+c) then
begin
inc(e);
writeln(t,e,'---->',i);
end;
end;
flush(t);
close(t);
readln;
end.
Будут вопросы - пиши
А зачем такой геморой с div и mod?
Сразу сделать 3 вложеных цикла.
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
begin
...
end;
А зачем такой геморой с div и mod?
Сразу сделать 3 вложеных цикла.
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
begin
...
end;
Три вложенных цикла - три лишнии переменные -> память. И по скорости медленнее - проверено!
Три вложенных цикла - три лишнии переменные -> память. И по скорости медленнее - проверено!
Лишние переменные???
Перечитай свой код и скажи где лишние переменные.
А на счет скорости. Перебор 900 значений?
К тому же на div и mod время тоже уходит.
Лишние переменные???
Перечитай свой код и скажи где лишние переменные.
А на счет скорости. Перебор 900 значений?
К тому же на div и mod время тоже уходит.
Вообще, div & mod целочисленные операции и они идут со свистом, А три вложенных цикла верь наслово, когда училась в школе целым классом решали и проверяли эту задачу
ТРИ ВЛОЖЕННЫХ ЦИКЛА - МЕДЛЕННЕЕ ЧЕМ ТАКОЙ ЖЕ, НО ОДИН
лишнии переменные - это пример такой
Вообще, div & mod целочисленные операции и они идут со свистом, А три вложенных цикла верь наслово, когда училась в школе целым классом решали и проверяли эту задачу
ТРИ ВЛОЖЕННЫХ ЦИКЛА - МЕДЛЕННЕЕ ЧЕМ ТАКОЙ ЖЕ, НО ОДИН
лишнии переменные - это пример такой
Просто в рамках данной задачи этот вопрос не принципиальный.
Просто в рамках данной задачи этот вопрос не принципиальный.
Может быть.
Принципиальным вопрос станет когда
перебор будет из большего числа, да еще с наворотами.
Может быть.
Принципиальным вопрос станет когда
перебор будет из большего числа, да еще с наворотами.
Вот-вот.
Но если так, то если подумать. То в силу коммутативности умножения и сложения можно сказать, что перестановки одного числа будут так же являться решениями. Число перестановок 3-х чисел 3!=6, значит знаю одно число можно получит другие 5. А если еще подумать, то можно сказать, что a<>b<>c. И можно поставить условие a>b>c.
А если еще подумать, то можно сказать, что a<>b<>c. И можно поставить условие a>b>c.
Из той же коммутативности
единственное условие a>b>c
будет ограничивающим
И вообще к чему все это ?!?!