如果一个自然数的每个质因数都至少是二重的(即每个质因数乘方次数都大于或等于2,), 那么这个自然数称为"漂亮数" (比如4=2^2,9=3^2,72=2^3×3^2,100=2^2×5^2,我们称4,9,72,100等为漂亮数), 如果两个相邻的自然数都是"漂亮数",那么称这两个数为"孪生漂亮数",例如相邻的自然数8,9是最小的一对"孪生漂亮数".定义: 8=2^3 9=3^2 类似的有288,289 288=2^5*3^2 289=17^2 675,676 675=3^3*5^2 676=2^2*13^2 9800,9801 9800=2^3*5^2*7^2 9801=3^4*11^2 推论 推论1:如果N,N+1是孪生漂亮数,那么4N(N+1),(2N+1)^2也是孪生漂亮数.(证明略) 推论2:如果N,N+2是漂亮数,那么N*(N+2)与(N+1)^2是孪生漂亮数. 推论3:如果N,N+1有N是漂亮数,N+1=2*M,M是漂亮数,那么有4N(N+1),(2N+1)^2是孪生漂亮数. 类似8,9的本身就是漂亮数的,可以称为自然孪生漂亮数或者原生孪生漂亮数,而通过推论1,2,3得到的孪生漂亮数可以称为衍生孪生漂亮数. 由推论一可知,最大的孪生漂亮数不存在. 代码及其结果 c程序 下面是前二十组孪生漂亮数的代数系统软件代码及其结果: For[k = 1; x = 2, k = 10, k = k + 1; x = x + 1, While[Min[Transpose[FactorInteger[x[[2  2 || Min[Transpose[FactorInteger[x - 1[[2  2, x = x + 1] Print[x, ",", x - 1 9,8 289,288 676,675 9801,9800 12168,12167 235225,235224 332929,332928 465125,465124 1825201,1825200 11309769,11309768 pascal type node=record z,n:longint; end; var i,r,j:longint; b:array[0..1000,0..1] of longint; procedure find(); var i,p:longint; a:array[1..100]of node; begin fillchar(a,sizeof(a),0); p:=0; i:=2; while ans1 do begin if ans mod i=0 then begin inc(p);a[p].z:=i; while ans mod i=0 do begin inc(a[p].n); ans:=ans div i; end; if a[p].n2 then exit; end; inc(i); end; if b[r,0]=j-1 then begin b[r,1]:=j; exit; end; inc(r); b[r,0]:=j; end; begin fillchar(b,sizeof(b),0); r:=0; for j:=8 to 1000000 do find(j); for i:=1 to r do if b[i,1]0 then writeln(b[i,0],' ',b[i,1]); end.