算法内容:
条件1:第1个数为只能0-999
第2个数为只能0-99
第3个数为12位数字。(不限)
条件2:将第一个数X第二个数X第三个数结果要等为15-17位数(只能15-17位):
其中计算出来的要求如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
0-4 0-9 0-4 0-9 0-4 0-9 0-4 0-9 0-4 0-9 0 这后面的不限定
注:11位那里一定是为0;
我发几组数上来给你们看一下,看有没有什么规律.
第一组/ 539 X 05 X 448330995919 = 1208252034 001705 (16位)
第二组/ 205 X 34 X 488258384792 = 3403160942 000240 (16位)
第三组/ 946 X 42 X 909657315263 = 3614250445 0029516 (17位)
第四组/ 456 X 45 X 165811975293 = 3402461733 012360 (16位)
第五组/ 486 X 33 X 170099204764 = 2728051046 005032 (16位)
第六组/ 092 X 15 X 103046493406 = 1422041609 00280 (15位)
看到没,每组结果的13579位都不能大于4,第十一位必须是0.
因为1000 X 100 X 1000000000000 = 1E+18 (3+2+12+1=18) 所以最大值为不会超过18位
假设A、B、C三个数,C1为C的第1位数字,C2为C的第2位数字,C12为C的第1和2位数字,C13为C的第1、2和3位数字,依次类推。
问题分成:
1、使数不小于15位;
S=A*B*C13
S>100000
2、第13579位都不大于4;
(1)第1位小于4;
若0<S1<=4 则成立。
(2)第3位小于4;
(3)第5位小于4;
(4)第7位小于4;
(5)第9位小于4;
3、第11位为0;
其实这是一个数字相乘题的分析,若要两个数字相乘,有一定的规律,可用递归来思考。