addhelp(多达,“查找序列A276802中最多10^n的术语;'非更新数字n,使A045876(n)以n结尾'”)小于等于(n)={my(v=1,c,l=List());while(#位数(v)<=n,c=为(v);如果(c>0,打印(c);列表(l,c));v=nxt(v));列表排序(l);}nxt(n,{b=10})={my(d=数字(n));i=#d;而(i>0&&d[i]==b-1,i--);如果(i>1,如果(d[i]>0,天[i]++,d[i]=d[1]);对于(j=i+1,#d,d[j]=d[i]),如果(i==1,d[i]++;对于(j=2,#d,d[j]=0), 返回(10^(#d))) );总和(j=1,#d,d[j]*10^(#d-j))}A045876(n)={my(d=数字(n),q=1,v,t=1);v=向量排序(d);对于(i=1,#v-1,如果(v[i]==v[i+1],t++,q*=二项式(i,t);t=1);q*二项式(#v,t)*(10^#d-1)*vecsum(d)/9/#d}是(n)={my(v);如果(#Set(数字(n))>1,v=vecsort(频率数字(A045876(n)%10^#Str(n))-频率数字(n);如果(v[1]>=0,返回(A045876(n)%10^#Str(n)),返回(0)),返回(0))}addhelp(freqdigits,“给出一个向量,列出每个数字的出现频率。”)频率数字(n)={my(v=矢量(10),d=数字(n));对于(i=1,#d,v[d[i]+1]++);v(v)}