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

Ваш аккаунт

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

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

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

поиск сомножителей...

7.2K
25 июня 2005 года
koder
24 / / 09.05.2005
Как решить такую задачку?
=======================================
Произведение N первых нечетных чисел равно р. Сколько сомножителей взято?
=======================================
8.7K
25 июня 2005 года
XXXX Pro
47 / / 20.06.2005
Цитата:
Originally posted by koder
Как решить такую задачку?
=======================================
Произведение N первых нечетных чисел равно р. Сколько сомножителей взято?
=======================================


Элементарно: заводишь переменную для произведения, присваиваешь в начале ее равной единице, заводишь другую переменную - счетчик (тоже вначале равный единице), далее в цикле увеличиваешь счетчик на единицу и умножаешь произведение на счетчик, после чего проверяешь, равно ли получившееся произведение числу P. Если да - выход из цикла. Вот пример кода на Pascal:

Код:
var
i,N,P1,P  :  integer;
BEGIN
readln(P); {ввод числа P}
i:=1; {счетчик}
P1:=1; {сюда будет накапливаться произведение}
repeat
  inc(i);
  P1:=P1*i;
until (P1=P);
N:=i;
wrtieln(N);
END.
271
25 июня 2005 года
MrXaK
721 / / 31.12.2002
Цитата:
Originally posted by XXXX Pro
Элементарно: заводишь переменную для произведения, присваиваешь в начале ее равной единице, заводишь другую переменную - счетчик (тоже вначале равный единице), далее в цикле увеличиваешь счетчик на единицу и умножаешь произведение на счетчик, после чего проверяешь, равно ли получившееся произведение числу P. Если да - выход из цикла. Вот пример кода на Pascal:
Код:
var
i,N,P1,P  :  integer;
BEGIN
readln(P); {ввод числа P}
i:=1; {счетчик}
P1:=1; {сюда будет накапливаться произведение}
repeat
  inc(i);
  P1:=P1*i;
until (P1=P);
N:=i;
wrtieln(N);
END.



только по-моему в условии нечётные, так что ещё один inc... и условие until по-другому, так как если данное число не является произведением, то всё это обернётся в бесконечный цикл.. так что условие надо P1 >= P
з.ы. а вообще должен быть другой алгоритм... не должна такая задача в лоб решаться )))

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