Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 17.11.2012, 17:32   #1 (permalink)
Alexander91
Новичок
 
Регистрация: 17.11.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите решить задачу "Pascal ABC"

Составить программу. Вводится число. Найти произведение действительных чисел меньших вводного числа. Произведение разделить на количество множителей. Вывести на экран произведение, количество множителей, результат деления.
Alexander91 вне форума   Ответить с цитированием

Старый 17.11.2012, 17:32
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Попробуйте заглянуть в эти темы

Помогите решить задачу Pascal
Помогите решить задачу в Pascal

Старый 17.11.2012, 19:44   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Задача не имеет решения. Любой, сколь угодно малый отрезок числовой оси содержит континуум (бесконечное множество) действительных чисел.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.11.2012, 20:02   #3 (permalink)
Alexander91
Новичок
 
Регистрация: 17.11.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

тогда пусть они по условию будут не действительные, а НАТУРАЛЬНЫЕ - тогда ведь можно составить программный код?
была бы очень благодарна
Alexander91 вне форума   Ответить с цитированием
Старый 17.11.2012, 20:09   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Тогда еще вопрос: "количество множителей" - чего? Исходного числа?
Vladimir_S вне форума   Ответить с цитированием
Старый 17.11.2012, 20:14   #5 (permalink)
Alexander91
Новичок
 
Регистрация: 17.11.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

да допустим вводим мы число 8 и нужно все другие натуральные числа до него, а именно 1,2,3,4,5,6,7 перемножить между собой.
Alexander91 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 17.11.2012, 20:15   #6 (permalink)
Alexander91
Новичок
 
Регистрация: 17.11.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

то есть множителей получается 7
Alexander91 вне форума   Ответить с цитированием
Старый 17.11.2012, 20:24   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Alexander91 Посмотреть сообщение
то есть множителей получается 7
Естественно. Тогда их всегда N-1, где N - вводимое число.
Итак, уточним:
1. Ввести N
2. Вычесть из него 1.
3. Найти (N-1)!
4. Найти (N-1)!/(N-1) = (N-2)!
Так? Или может быть, как-то не так? Потому что если так, то уж очень это всё глупо сформулировано.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.11.2012, 20:28   #8 (permalink)
Alexander91
Новичок
 
Регистрация: 17.11.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

да получается что так =)
ввели например, сначала 8, потом перемножили его составляющие получили 5040, и потом поделил на 7 и получили 720… а в конце вывели на экран результат сначала умножение 5040, потом количество множителей то самое N-1 и в конце сам итог 720.
Alexander91 вне форума   Ответить с цитированием
Старый 17.11.2012, 20:40   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Alexander91 Посмотреть сообщение
да получается что так =)
ввели например, сначала 8, потом перемножили его составляющие получили 5040, и потом поделил на 7 и получили 720… а в конце вывели на экран результат сначала умножение 5040, потом количество множителей то самое N-1 и в конце сам итог 720.
Хорошо, пожалуйста. Только предупреждаю, что никакой мерзопакости типа Паскаля АВС я на своих компьютерах не держу, потому написано в среде Free Pascal. Надеюсь, подойдёт:

Код:
Var
 N,i,Res:Integer;
Begin
 Write('N (>1) = ');
 Readln(N);
 Res:=N-1;
 For i:=N-2 downto 1 do Res:=Res*i;
 Writeln(Res);
 Writeln(N-1);
 Writeln(Res div (N-1));
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.11.2012, 20:43   #10 (permalink)
Alexander91
Новичок
 
Регистрация: 17.11.2012
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо
Alexander91 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:36.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.