IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> поиск сомножителей...
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Как решить такую задачку?
=======================================
Произведение N первых нечетных чисел равно р. Сколько сомножителей взято?
=======================================
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






koder,
ну, так в чем проблема? Проходи в цикле по всем нечетным числам начиная с 1, и находи их произведение (и заодно подсчитывай количество) до тех пор, пока произведение не станет равно P... И ты сразу узнаешь, чему равно N (как раз количеству, которое ты подсчитывал) ;)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  0  +


Примерно так
Код

Uses
   CRT;
var
   count,
   count2 : Integer;
   us     : Integer;
   su     : integer;
   p      : Byte;
begin
    ClrScr;
            ReadLn(p);
            su:= 1;

            For count:= 1 to 5 do
                If (count mod 2 <>0) AND (su <>p) then
                   begin
                        su:= su * count;
                        count2:= count2+1;
                   end;

            WriteLn(count2);
     ReadKEy;
end.




Цитата
count mod 2 <>0
- проверяет нечётность (можно было и подругому - не столь важно)

Цитата
(su <>p)
- чтобы обойтись без while..do и repeat..until и не париться с избежанием лишней итерации

Цитата
su:= su * count
- собственно для вычисления произведения

Цитата
count2:= count2+1
- для накопления количества элементов произведения которых даёт P


--------------------
Чтоб мудро жизнь прожить
Знать надобно не мало,
Ты лучше голодай,
Чем что попало есть
И лучше будь один,
Чем вместе с кем попало

О.Хаям
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






VBproffi, предупреждаю сразу:
в следующий раз заведомо неверные программы будут удаляться !!!

Например, вот это:
Цитата(VBproffi @ 26.06.05 9:57)
- чтобы обойтись без while..do и repeat..until и не париться с избежанием лишней итерации

Очень мудрое решение: в задаче на "пока <что-то> делать <то-то>" нужно избегать while ... do и repeat ... until blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


хехе и вправду не работает ...

вот :

uses crt;
var
i,p,count,n:integer;

Begin

clrscr;

write('n='); readln(n);

i:=1; p:=1; count:=0;

while(p<n) do begin

p:=p*i;
inc(i,2);
inc(count);

end;

if p=n then
writeln('count=',count);

readln;

End.


и не надо тут ничего сочинять ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.09.2025 0:15
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name