А почему 77? Ведь 10 и 14 и 15 тоже не представимы только двойками и тройками. И вообще их довольно много:
Код:
? v=vector(100,i,i); v[1]=0; for(a=1,6, v[2^a]=0; for(b=1,4, v[3^b]=0; i=2^a+3^b; if(i<=#v, v[i]=0); i=2^a*3^b; if(i<=#v, v[i]=0);)); print(select(x->x>0, v))
[10, 14, 15, 20, 21, 22, 23, 26, 28, 30, 33, 34, 37, 38, 39, 40, 42, 44, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 65, 66, 68, 69, 70, 71, 74,
75, 76, 77, 78, 79, 80, 82, 84, 86, 87, 88, 90, 92, 93, 94, 95, 98, 99, 100]
При этом 22 непредставимо и с пятёркой ни в одном из форматов:
,
,
,
:
Код:
v=vector(100,i,i); v[1]=0;
{for(a=1,30,
i=2^a; if(i>#v, break); v[i]=0;
for(b=1,19,
i=3^b; if(i>#v, break); v[i]=0;
i=2^a+3^b; if(i<=#v, v[i]=0);
i=2^a*3^b; if(i<=#v, v[i]=0);
for(c=1,13,
i=5^c; if(i>#v, break); v[i]=0;
i=2^a+5^c; if(i<=#v, v[i]=0);
i=2^a*5^c; if(i<=#v, v[i]=0);
i=3^b+5^c; if(i<=#v, v[i]=0);
i=3^b*5^c; if(i<=#v, v[i]=0);
i=2^a*3^b+5^c; if(i<=#v, v[i]=0);
i=2^a+3^b*5^c; if(i<=#v, v[i]=0);
i=2^a*5^c+3^b; if(i<=#v, v[i]=0);
i=2^a*3^b*5^c; if(i<=#v, v[i]=0);
);
);
)}
print(select(x->x>0, v));
[22, 26, 38, 39, 42, 44, 46, 51, 55, 56, 58, 62, 63, 65, 66, 68, 70, 71, 74, 76, 78, 82, 84, 87, 88, 92, 93, 94, 95, 98, 99]
И если я нигде не ошибся, то с семёркой не получаются следующие числа до 100:
Код:
[66, 78, 92, 93, 95]