2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Гипотеза о факториале из нефакториальных цифр
Сообщение26.08.2016, 03:32 
Заслуженный участник


20/08/14
11766
Россия, Москва
Впрочем, кажется достаточно не проверять старшие цифр 15-20 (увеличив буфер цифр до 80 и более), считать что там шум, но в вычислениях использовать. Похоже ошибка не накапливается/размножается, а раз возникнув (при обнулении младшей цифры в буфере) за несколько шагов вымывается за старшую границу буфера.

-- 26.08.2016, 04:13 --

Почему 15 минимум: для множителя $5^{15}\approx 3\cdot10^{10}$ может образоваться 15 младших нулей, которые при сдвиге вправо испортят 15 старших цифр. Ну и ещё пару цифр про запас. :-)

 Профиль  
                  
 
 Re: Гипотеза о факториале из нефакториальных цифр
Сообщение26.08.2016, 14:59 
Заслуженный участник


20/08/14
11766
Россия, Москва
Перепроверил до $10^9!$ с учётом запаса цифр, решений всё равно нет.

(Скорость на Дельфи)

Вот же гадская дельфи, компилит кошмарно тормозной код с int64, замена всего трёх операций умножения/деления
Используется синтаксис Delphi
m := m * n + c; с := m div 1000000000; m := m mod 1000000000;
на ассемблер
Используется синтаксис ASM
        mov     EAX,m
        mov     EDX,n
        mov     ECX,c
        mul     EDX
        add     EAX,ECX
        adc     EDX,0
        mov     ECX,1000000000
        div     ECX
        mov     m,EDX
        mov     c,EAX
дала 40-кратное ускорение! До $10^9!$ вместо ~4300с считается всего лишь 107с.

 Профиль  
                  
 
 Re: Гипотеза о факториале из нефакториальных цифр
Сообщение26.08.2016, 15:29 
Заслуженный участник
Аватара пользователя


16/07/14
9147
Цюрих
Dmitriy40, поверю на слово (вроде говорите правду, и эффект воспроизводится, но я еще не успел "понять", что делать). С вашей поправкой ($13$ разрядов длиной $10^6$, смотрим первые $10$) считается за 30 секунд.

(Оффтоп)

Завтра доберусь до машины с AVX-512, там вроде бы все нужные интринсики есть. В SSE* и AVX с 64-битными числами только сложение/вычитание :-(

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group