打字猴:1.701005472e+09
1701005472 6174这个数字黑洞就叫做Kaprekar常数。
1701005473
1701005474 对于三位数,也有一个数字黑洞——495。
1701005475
1701005476 974–479=495
1701005477
1701005478 954–459=495
1701005479
1701005480 954–459=495
1701005481
1701005482 ……
1701005483
1701005484 495即为三位数的数字黑洞。
1701005485
1701005486 采用MATLAB软件编程验证如下:
1701005487
1701005488     clc,clear,close all         %清屏和清除变量    warning off                 %消除警告    %数字黑洞    a = 6767;                   %974,可修改    a1 = num2str(a);            %数值型转字符串型    n = length(a1);             %字符长度    for i=1:n        a2(i)=str2num(a1(i));   %将每一个字符依次转化为数值型,保存到a2数组    end    if n==4  %四位数        a3 = sort(a2,‘descend’);     %从大到小排列        a33 = a3(1) *1000+a3(2) *100+a3(3) *10+a3(4);        a4 = sort(a2,‘ascend’);      %从小到大排列        a44 = a4(1) *1000+a4(2) *100+a4(3) *10+a4(4);        for i=1:7            a5 = a33 - a44;          %差            a1 = num2str(a5);        %数值型转字符型            n = length(a1);          %字符长度            for i=1:n                a2(i)=str2num(a1(i)); %将每一个字符依次转化为数值型,保存到a2数组            end            disp([num2str(a33),’-‘,num2str(a44),’=’,num2str(a5)]);    %显示            a3 = sort(a2,‘descend’);                             %从大到小排列            a33 = a3(1) *1000+a3(2) *100+a3(3) *10+a3(4);            a4 = sort(a2,‘ascend’);                             %从小到大排列            a44 = a4(1) *1000+a4(2) *100+a4(3) *10+a4(4);        end    end    if n==3  %三位数        a3 = sort(a2,‘descend’);               %从大到小排列        a33 = a3(1) *100+a3(2) *10+a3(3) *1;        a4 = sort(a2,‘ascend’);                %从小到大排列        a44 = a4(1) *100+a4(2) *10+a4(3) *1;        for i=1:7            a5 = a33 - a44;            a1 = num2str(a5);          %数值型转字符型            n = length(a1);            %长度            for i=1:n                a2(i)=str2num(a1(i));  %将每一个字符依次转化为数值型,保存到a2数组            end            disp([num2str(a33),’-‘,num2str(a44),’=’,num2str(a5)]);    %显示            a3 = sort(a2,‘descend’);                                  %从大到小排列            a33 = a3(1) *100+a3(2) *10+a3(3) *1;            a4 = sort(a2,‘ascend’);                                   %从小到大排列            a44 = a4(1) *100+a4(2) *10+a4(3) *1;                      %三位数        end    end
1701005489
1701005490 运行程序输出结果如下:
1701005491
1701005492     >>a = 6767;  %974    7766-6677=1089    9810-189=9621    9621-1269=8352    8532-2358=6174    7641-1467=6174    7641-1467=6174    7641-1467=6174        >>a = 974;  %6767    974-479=495    954-459=495    954-459=495    954-459=495    954-459=495    954-459=495    954-459=495
1701005493
1701005494
1701005495
1701005496
1701005497 我和数学有约:趣味数学及算法解析 [:1701004187]
1701005498 我和数学有约:趣味数学及算法解析 3.3 3x+1问题
1701005499
1701005500 【问题】什么是3x+1问题?
1701005501
1701005502 【分析】
1701005503
1701005504 3x+1问题又叫Collatz猜想、Syracuse问题、Kakutani问题、Hasse算法和Ulam问题等等。后来,由于命名争议太大,干脆让谁都不沾光,直接叫做3x+1问题算了。
1701005505
1701005506 从任意一个正整数开始,重复对其进行下面的操作:
1701005507
1701005508 如果这个数是偶数,把它除以2;
1701005509
1701005510 如果这个数是奇数,则把它扩大到原来的3倍后再加1。
1701005511
1701005512 你会发现,序列最终总会变成4,2,1,4,2,1,……的循环。
1701005513
1701005514 例如,所选的数是67,根据上面的规则可以依次得到:
1701005515
1701005516 67,202,101,304,152,76,38,19,58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1,4,2,1,……
1701005517
1701005518 数学家们试了很多数,没有一个能逃脱“421陷阱”。
1701005519
1701005520 采用MATLAB软件编程验证如下:
1701005521
[ 上一页 ]  [ :1.701005472e+09 ]  [ 下一页 ]