Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задание...

5.4K
03 октября 2003 года
peZZak
1 / / 03.10.2003
Помогите, плиз, как на паскале сделать вот это:
Найти все такие трехзначные числа (и их количество), сумма цифр которых равна произведению цифр. Ответ записать в файл OL1.OUT, где первая строка должна содержать количество чисел, а следующие - сами числа.
:???: :???: :???:
Напишите код оч. вас прошу!
269
03 октября 2003 года
Greenering
892 / / 04.02.2003
Цитата:
Originally posted by peZZak
Помогите, плиз, как на паскале сделать вот это:
Найти все такие трехзначные числа (и их количество), сумма цифр которых равна произведению цифр. Ответ записать в файл 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.
Будут вопросы - пиши

448
06 октября 2003 года
Mr. API
105 / / 20.06.2000
Цитата:
Originally posted by Greenering

Лови

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;

269
07 октября 2003 года
Greenering
892 / / 04.02.2003
Цитата:
Originally posted by Mr. API

А зачем такой геморой с div и mod?
Сразу сделать 3 вложеных цикла.

for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
begin
...
end;


Три вложенных цикла - три лишнии переменные -> память. И по скорости медленнее - проверено!

448
07 октября 2003 года
Mr. API
105 / / 20.06.2000
Цитата:
Originally posted by Greenering

Три вложенных цикла - три лишнии переменные -> память. И по скорости медленнее - проверено!



Лишние переменные???
Перечитай свой код и скажи где лишние переменные.
А на счет скорости. Перебор 900 значений?
К тому же на div и mod время тоже уходит.

269
07 октября 2003 года
Greenering
892 / / 04.02.2003
Цитата:
Originally posted by Mr. API


Лишние переменные???
Перечитай свой код и скажи где лишние переменные.
А на счет скорости. Перебор 900 значений?
К тому же на div и mod время тоже уходит.


Вообще, div & mod целочисленные операции и они идут со свистом, А три вложенных цикла верь наслово, когда училась в школе целым классом решали и проверяли эту задачу
ТРИ ВЛОЖЕННЫХ ЦИКЛА - МЕДЛЕННЕЕ ЧЕМ ТАКОЙ ЖЕ, НО ОДИН

лишнии переменные - это пример такой

448
07 октября 2003 года
Mr. API
105 / / 20.06.2000
Цитата:
Originally posted by Greenering

Вообще, div & mod целочисленные операции и они идут со свистом, А три вложенных цикла верь наслово, когда училась в школе целым классом решали и проверяли эту задачу
ТРИ ВЛОЖЕННЫХ ЦИКЛА - МЕДЛЕННЕЕ ЧЕМ ТАКОЙ ЖЕ, НО ОДИН

лишнии переменные - это пример такой


Просто в рамках данной задачи этот вопрос не принципиальный.

269
08 октября 2003 года
Greenering
892 / / 04.02.2003
Цитата:
Originally posted by Mr. API

Просто в рамках данной задачи этот вопрос не принципиальный.


Может быть.
Принципиальным вопрос станет когда
перебор будет из большего числа, да еще с наворотами.

448
08 октября 2003 года
Mr. API
105 / / 20.06.2000
Цитата:
Originally posted by Greenering

Может быть.
Принципиальным вопрос станет когда
перебор будет из большего числа, да еще с наворотами.


Вот-вот.
Но если так, то если подумать. То в силу коммутативности умножения и сложения можно сказать, что перестановки одного числа будут так же являться решениями. Число перестановок 3-х чисел 3!=6, значит знаю одно число можно получит другие 5. А если еще подумать, то можно сказать, что a<>b<>c. И можно поставить условие a>b>c.

269
09 октября 2003 года
Greenering
892 / / 04.02.2003
Цитата:
Originally posted by Mr. API

А если еще подумать, то можно сказать, что a<>b<>c. И можно поставить условие a>b>c.


Из той же коммутативности
единственное условие a>b>c
будет ограничивающим

И вообще к чему все это ?!?!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог