(*此代码适用于100以内的所有数字,19除外*)NextPalindrome[n_]:=块[{l=Floor[Log[10,n]+1],idn=IntegerDigits[n]},如果[Union[idn]=={9},Return[2],如果[l<2,Return[n+1],如果[FromDigits[Reverse[Take[idn,Ceiling[l/2]]]]],FromDiges[Take[idn,-Ciling[1/2]],From Digits[Cjoin[Take],Ceiling[l/2]],反向[Take[idn,Floor[l/2]]]],idfhn=FromDigits[Take[idn,Ceiling[l/2]]]+1;
idp=FromDigits[Join[IntegerDigits[idfhn],Drop[Reverse[Integer Digits[idfhn]],Mod[l,2]]]]]];f[n_]:=块[{k=1,dn=IntegerDigits[n]},sdn=2*Plus@@dn;如果[sdn==2n,n,如果[sdn==n,FromDigits[Join[dn,Reverse[dn]],如果[srn>n,0,k=10^Floor[(n-sdn)/9]-1;;而[Plus@@IntegerDigits[k]+sdn!=n、 k=下一个回文[k]];FromDigits[加入[dn,整数数字[k],反向[dn]]]]]];表[f[n],{n,1,35}]