В общем, в скрипте были ошибки. Спаибо
Dmitry40 за указание на некторые из них.
Но мы не привыкли отступать. При помощи ИИ (Дипсик) всё исправлено и вот новый скрипт:
Код:
ktina_27D(n)={
my(base=sum(k=0,n-1,10^k), res=List());
my(L=2^20); \\ предел частичной факторизации
for(i=0,n-1,
for(j=0,n-1,
if(i==j, next());
my(candidate=base+10^i+6*10^j);
my(f=factor(candidate, L));
my(pr=List(), ex=List()); \\ простые и показатели
\\ обрабатываем все строки, кроме последней (если остаток > 1)
for(k=1, #f[,1]-1,
listput(pr, f[k,1]);
listput(ex, f[k,2]);
);
my(R = f[#f[,1], 1]); \\ последний множитель (остаток)
if(R > 1,
\\ проверим, не является ли R простым
if(ispseudoprime(R),
listput(pr, R);
listput(ex, 1);
,
\\ проверим, не является ли R = t^6
my(t = round(R^(1/6)));
if(t^6 == R && ispseudoprime(t),
listput(pr, t);
listput(ex, 6);
,
\\ проверим, не является ли R = t^13
my(t = round(R^(1/13)));
if(t^13 == R && ispseudoprime(t),
listput(pr, t);
listput(ex, 13);
,
next; \\ остаток не подходит ни под один вариант
);
);
);
);
\\ теперь имеем полный список простых и показателей
my(np = #pr);
if(np == 1,
if(ex[1] == 13, listput(res, candidate));
);
if(np == 2,
if( (ex[1]==6 && ex[2]==1) || (ex[1]==1 && ex[2]==6),
listput(res, candidate)
);
);
)
);
if(#res==0, return(0));
return(vecmin(Vec(res)));
}
Заодно, в виду необычайной быстроты кода, нашлись ещё такие числа, 65, 83 и 92 знака (наименьшие среди этих количеств знаков в записи)
В скобках количество единиц
Код:
[37]2[5]7[21]
[9]2[5]7[67]
[55]2[16]7[19]
-- добавлено через 26 минут --gipokratА где вы отыскали то число что в первом посте? Не сами же придумали?
В общем, есть числа и где сначала идёт 7 а потом 2
Ну и, по всей видимости, таких чисел много (за бесконечность не ручаюсь, но почему бы и нет).