1701005450
我和数学有约:趣味数学及算法解析 3.2 数字黑洞
1701005451
1701005452
【问题】什么是数字黑洞?
1701005453
1701005454
【分析】
1701005455
1701005456
任意选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数。重复对新得到的数进行上述操作,7步以内必然会得到6174。
1701005457
1701005458
例如,选择四位数6767:
1701005459
1701005460
7766-6677=1089
1701005461
1701005462
9810-0189=9621
1701005463
1701005464
9621-1269=8352
1701005465
1701005466
8532-2358=6174
1701005467
1701005468
7641-1467=6174
1701005469
1701005470
……
1701005471
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
1701005498
我和数学有约:趣味数学及算法解析 3.3 3x+1问题
[
上一页 ]
[ :1.701005449e+09 ]
[
下一页 ]