2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Генератор чисел Смита
Сообщение23.12.2009, 14:44 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
За ссылку спасибо. Статья, наверное, на английском? Может, кому-то пригодится в поиске прогрессий.
Вот, например, tolstopuz искал прогрессию из смитоа длины 16, дошёл, кажется, до 13 членов и, наверное, бросил. Предполагаю, что он искал прогрессию простым перебором. А если по какому-нибудь алгоритму попробовать...

Забыла сказать, что девятку смитов-близнецов надо начинать искать в 31-ом миллиарде. Поскольку maxal'ем на найден магический квадрат 3-го порядка из последовательных смитов в первых 30 миллиардах, следовательно, в этом интервале нет девятки смитов-близнецов. (если при этом считать, что maxal не ошибся).

Ещё хочу заметить, что счёт счёту рознь. Например, Бодигрим строил по своей программе квадрат 5-го порядка из смитов несколько недель, построил его и сказал, что по его подсчётам это наименьший квадрат. По программе пользователя 12d3 квадраты 5-го порядка из смитов строятся за несколько минут. Этот пользователь построил магический квадрат из смитов с меньшей константой, чем константа квадрата Бодигрима.
Так что, очень многое в счёте зависит оттого, КАК считать.

 Профиль  
                  
 
 Re: Генератор чисел Смита
Сообщение14.01.2010, 07:16 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
В теме “Магические квадраты” maxal представил такой генератор чисел Смита (язык PARI/GP):

Код:
? sd(n) = local(v); v=eval(Vec(Str(n))); sum(j=1,#v,v[j])
? issmith(n) = local(f); if(ispseudoprime(n),return(0)); f=factor(n); sum(j=1,matsize(f)[1],f[j,2]*sd(f[j,1]))==sd(n)
? for(n=2,10^10, if(issmith(n),print1(n,", ");); )

Ещё один генератор выложен здесь.

Когда я только начинала работать с числами Смита, сразу воспользовалась приведённым выше генератором с форума Портала ЕН, его там сразу выложили, как только я открыла эту тему. Генератор хорошо работает, я легко сгенерировала смиты в интервале от 1 до 100000.

Недавно в гостевой книге сайта мне задали вопрос об алгоритме разложения чисел на простые множители. Решила сделать примитивную программку (ответ написала). Алгоритм простейший. Ну, а написав программу разложения чисел на простые множители, решила дописать её до генератора смитов. Повторю ещё раз: генератор детский, основан на примитивном алгоритме. К тому же программа написана на допотопном языке QBASIC. Однако работает. В программе заложена генерация смитов в интервале от 2 до 9999. Понятно, что интервал можно расширить, введя небольшие изменения в программу. Смиты в указанном интервале сгенерировались за одну минуту. По программе можно генерировать смиты в любом заданном интервале, а не только с начала натурального ряда чисел. Это код моей программы:

Код:
10 DIM P(1500), B(20)
15 OPEN "MK3.txt" FOR INPUT AS #1
20 FOR I = 1 TO 1500: INPUT #1, P(I): NEXT I
25 CLOSE #1
30 FOR U = 2 TO 9999
38 Z = U: N = U
40 I = 1: K = 1
45 X = N / P(I)
47 IF X = 1 THEN B(K) = P(I): GOTO 102
50 IF INT(X) = X THEN B(K) = P(I): N = X: K = K + 1: I = 1: GOTO 45
52 I = I + 1: GOTO 45
102 M = Z
104 GOSUB 200
105 E = A
106 D = 0
108 T = 1
110 M = B(T)
112 GOSUB 200
114 D = D + A
116 T = T + 1
118 IF T > K THEN 122
120 GOTO 110
122 IF E = D THEN IF K <> 1 THEN PRINT Z;
124 NEXT U
126 GOTO 300
200 A1 = INT(M / 1000): C1 = M - A1 * 1000
202 A2 = INT(C1 / 100): C2 = C1 - A2 * 100
204 A3 = INT(C2 / 10): A4 = C2 - A3 * 10
206 A = A1 + A2 + A3 + A4
210 RETURN
300 PRINT : PRINT
310 END

Кстати, появился ли в Википедии (в статье “Числа Смита”) какой-нибудь генератор? Я давно не заглядывала в эту статью. В ней, между прочим, есть давно устаревшие данные. Я предлагала maxal’у исправить статью. Не знаю, сделал ли он это. Очень не мешало бы вставить в статью генератор, если его ещё не вставили.

В OEIS тоже есть числа Смита. Но вот есть ли ссылка на генератор? Надо посмотреть.

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

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



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

Сейчас этот форум просматривают: Gagarin1968


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

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