![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.03.2009
Сообщений: 13
|
![]()
Дано два наборы чисел, в обох одинаковое количество чисел. Каждое число <= 10, количество чисел до 100000; Нужно узнать какое произведение больше - первого набора или другого? Конечно это надо сделать без длинной арифметики.
Думал об обчиселнии по модулю, но это неверно (( Помогите пожалуйста. Спасибо. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.06.2007
Сообщений: 233
|
![]() Код:
Последний раз редактировалось Stilet; 26.05.2009 в 09:18. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.03.2009
Сообщений: 13
|
![]()
10^100000 далеко выходит за integer...
|
![]() |
![]() |
![]() |
#4 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]()
а если пропробовать сортировку подсчетом.
Код:
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Последний раз редактировалось Plague; 26.05.2009 в 09:17. Причина: замена integer на longint |
![]() |
![]() |
![]() |
#5 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]()
И почитав Основную теорему арифметики
можно сделать так: Код:
у меня получилось так Код:
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 24.03.2009
Сообщений: 13
|
![]() Цитата:
Спасибо. |
|
![]() |
![]() |
![]() |
#7 | |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]() Цитата:
Можно прологорифмировать оба выражения. в случае: Код:
Код:
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Ого... уже логарифмирование пошло..
![]() Господа, а простите за наивный вопрос. а так разве не проще: Код:
|
![]() |
![]() |
![]() |
#9 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]()
Extended 3.6 x 10^-4951 .. 1.1 x 10^4932.
так? предпологаем что: в а все 10, а в b все 1. при вводе 100000, получаем D=10^100000. Так? И вы хотите сказать что это влезет в Extended?
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Plague, убедительно. Действительно, не влезет.
вышеприведённый предложенный мной вариант не покатит. ![]() Тогда можно предложить такой вариант, учитывать НЕ ВСЕ ЧИСЛА. сейчас нет свободного времени на реализацию/проверку. Но общий идея такая - заводим две переменные счётчик элементов по массиву A и отдельный счётчик по массиву B. дальше наращиваем их одновременно, в цикле сравниваем если произведение Больше некой константы (ну, допустим 10^10), тогда продолжаем цикл наращивания счётчика по второму массиву (т.е. ТОЛЬКО делим) если произведение Меньше некой константы (например, 10^-10, то увеличиваем только первый счётчик и только умножаем Если дошли до конца одного из массивов: Если ДошлиДоКонца_Первого и число МЕНЬШЕ единицы, значит произведение эл-тов Первого массива МЕНЬШЕ второго. Если ДошлиДоКонца_Второго и число БОЛЬШЕ единицы, значит произведение эл-тов Первого массива БОЛЬШЕ второго. Как Вам такой алгоритм? [добавлено] p.s. хотя, с другой стороны, не буду утверждать, что подобный алгоритм лучше, эффективнее, быстрее, чем продложенный Вами подсчёт количества сомножителей!! NB. Кстати, его можно немножко соптимизировать (сократить дробь - отнять от большего числа меньше: тогда Цитата:
1 * 3^196 * 5^37 * 1 2^782 * 1 * 1 * 7^11 хотя... можно это и не делать ![]() Последний раз редактировалось Serge_Bliznykov; 27.05.2009 в 15:21. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi:Определить имеется ли среди чисел a,b,c хотя бы одна пара взаимно противоположных чисел. | Skvot | Помощь студентам | 6 | 27.04.2009 11:47 |
Массив из n чисел | Ximer | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 17.04.2009 19:17 |
Преобразование чисел | artemavd | Общие вопросы Delphi | 15 | 30.07.2008 15:48 |
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных | Белка | Помощь студентам | 3 | 27.10.2007 11:53 |
Форматирование чисел | Gorin | Общие вопросы Delphi | 11 | 26.09.2007 10:30 |