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
1701005522
clc,clear,close all %清屏和清除变量 warning off %消除警告 num = 67; for i=1
:35 if 2*floor(num/2)<num %奇数 num = num*3+1; else %偶数 num = num /2; end a(i)=num; end a
1701005523
1701005524
运行程序输出结果如下:
1701005525
1701005526
a = Columns 1 through 9 202 101 304 152 76 38 19 58 29 Columns 10 through 18 88 44 22 11 34 17 52 26 13 Columns 19 through 27 40 20 10 5 16 8 4 2 1 Columns 28 through 35 4 2 1 4 2 1 4 2
1701005527
1701005528
但是,是否对于所有的数,序列最终总会变成4,2,1循环呢?
1701005529
1701005530
直到现在,数学家们仍然没有证明,这个规律对于所有的数都成立。
1701005531
1701005532
1701005533
1701005534
1701005536
我和数学有约:趣味数学及算法解析 3.4 两位数的速乘
1701005537
1701005538
【问题】如果两个两位数的十位相同,个位数相加为10,那么你可以立即说出这两个数的乘积吗?
1701005539
1701005540
【分析】
1701005541
1701005542
如果两个两位数的十位相同,个位数相加为10,采用两位数的速乘方法,你可以立即说出这两个数的乘积。
1701005543
1701005544
如果这两个两位数分别写作AB和AC,那么它们的乘积的前两位就是A和A+1的乘积,后两位就是B和C的乘积。
1701005545
1701005546
比如,47和43的十位数相同,个位数之和为10,因而它们的乘积的前两位就是4×(4+1)=20,后两位就是7×3=21。
1701005547
1701005548
也就是说,47×43=2021。
[
上一页 ]
[ :1.701005499e+09 ]
[
下一页 ]