|
0 / 0 / 0
Регистрация: 25.12.2021
Сообщений: 39
|
||||||
Как можно ускорить программу? Чтобы работало для N до миллиона? Максимум удалось посчитать 23!, потом возникает переполн09.03.2022, 16:02. Показов 1540. Ответов 14
Метки нет (Все метки)
Как можно ускорить программу? Чтобы работало для N до миллиона? Максимум удалось посчитать 23!, потом возникает переполнение.
0
|
||||||
| 09.03.2022, 16:02 | |
|
Ответы с готовыми решениями:
14
Как можно упростить условия или как исправить, чтобы работало правильно Как и через что делать множественные скрины (для Win 10) чтобы их потом можно было посмотреть в смартфоне? Как можно это переделать, чтобы нормально работало? (В задании нужно изменять значения x,y произвольно) |
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
|
|
| 09.03.2022, 16:44 | |
|
А что вообще делает ваша программа?
B 24! не может влезть в uint64 25852016738884976640000 против 18446744073709551615
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2021
Сообщений: 39
|
|
| 09.03.2022, 21:45 [ТС] | |
|
Требуется написать программу, позволяющую для заданного N находить последнюю отличную от нуля цифру в числе N!
0
|
|
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
|
||||||
| 10.03.2022, 04:26 | ||||||
|
В таком случае, зачем вам массив?
Попробуем получить первые 10 факториалов: 1·1=1 1·2=2 2·3=6 6·4=24 24·5=120 120·6=720 720·7=5040 5040·8=40320 40320·9=362880 362880·10=3628800 Жирным я выделил последнюю отличную от нуля цифру. Вглядитесь внимательно! Как получается эта цифра? Ведь очень просто! И от цифр, стоящих не на последнем месте значения факториала и даже множителя она не зависит. Т.е. можно было легко написать так: 1·1=1 1·2=2 2·3=6 6·4=24 4·5=20 2·6=72 2·7=14 4·8=32 2·9=18 8·1=8 Получается, что даже uint64 — лишнее! Вполне можно обойтись integer…
2
|
||||||
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|
| 10.03.2022, 09:08 | |
|
JuriiMW,
программа для 19! выдаёт 4 хотя 19! = 121645100408832000 для 17! программа выдаёт 2, хотя 17! = 355687428096000
0
|
|
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
|
|||||||||||
| 10.03.2022, 10:04 | |||||||||||
|
Да уж!
Это я немного поспешил с выводами. Дело в том, что умножение на 5 немного портит картину. Если в первом случае „прокатило“ (4!=24 ·5=120), то в следующем вместо положенного 8 остаётся 2·5=10 (14!=87178291200 ·15=1307674368000)… Можно извернуться, увеличив число хранимых значащих цифр. К примеру, вот этот код даст правильный результат до n=124:
Добавлено через 23 минуты Хотя! Вот:
1
|
|||||||||||
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
||||||
| 10.03.2022, 16:18 | ||||||
|
JuriiMW, а этот вариант не устроит?
Найти последнюю ненулевую цифру факториала n это что-то вроде
1
|
||||||
|
0 / 0 / 0
Регистрация: 25.12.2021
Сообщений: 39
|
|
| 10.03.2022, 19:42 [ТС] | |
|
Ещё в начале должно спрашивать для скольких чисел нужно будет это сделать и потом ввести эти числа
Добавлено через 24 минуты А если при входе нужно чтобы еще спрашивалось для скольких чисел это сделать и потом ввести их
0
|
|
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
|
||
| 11.03.2022, 04:17 | ||
|
Overlord Cows, а разве какая-то из приведённых программ не ждёт ввода значения?
Добавлено через 7 минут Согласно задания:
0
|
||
|
0 / 0 / 0
Регистрация: 25.12.2021
Сообщений: 39
|
|
| 11.03.2022, 08:07 [ТС] | |
|
Нужно чтобы в первой строке спрашивалось для скольких чисел произвести операцию и потом сами эти числа.
Например в первой строке вводим 3, значит для трёх следующих произвести операцию. Пример ввода: 3 2 3 5 Пример вывода: 2 6 2
0
|
|
| 11.03.2022, 08:31 | |
|
Не по теме: Overlord Cows, вы правила читали?
0
|
|
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|||||||
| 14.03.2022, 09:34 | |||||||
|
потом
1
|
|||||||
|
0 / 0 / 0
Регистрация: 25.12.2021
Сообщений: 39
|
|
| 15.03.2022, 21:15 [ТС] | |
|
Так выводит только для последнего
0
|
|
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|
| 16.03.2022, 12:04 | |
|
0
|
|
| 16.03.2022, 12:04 | |
|
Помогаю со студенческими работами здесь
15
Как откомпилировать программу в VC+ 2010 чтобы работало на всех других компьютерах Написать эту же программу, только с модулем, чтобы потом можно было вызвать процедуру Как под эту программу сделать так , чтобы работало дифференцирование и интегрирование многочленов Как можно ускорить программу? Как можно ускорить программу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|