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

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



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

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


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

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