用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍.求非分类枚举的方法(就是猜数法)或者分类枚举方法的详细步骤

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 03:33:33

用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍.求非分类枚举的方法(就是猜数法)或者分类枚举方法的详细步骤
用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍.
求非分类枚举的方法(就是猜数法)或者分类枚举方法的详细步骤

用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍.求非分类枚举的方法(就是猜数法)或者分类枚举方法的详细步骤
答案是1863和7452,或1368和5472

先看一下1到8这8个数字乘以4所得的尾数,对枚举有帮助
不进位:1,4;2,8;3,2;4,6;6,4;7,8;8,2
(没有5是因为5*4的尾数为0,不在1到8内,所以不写了)
进1位:1,5;4,7;5,1;6,5;8,3
(2*4+1,7*4+1尾数都是9,不在1到8内,而3*4+1尾数是3,和自身重复了)
进2位:1,6;3,4;4,8;5,2;8,4
(2*4+2,7*4+2尾数都是0,不在1到8内,而6*4+2尾数是6,和自身重复了)
进3位:1,7;2,1;3,5;5,3;6,7;7,1,8;5
(4*4+3尾数是9,不在1到8内)
不必讨论进4位了,因为最大的8乘以4得32
就算进了3位也只有35,达不到40,不会让别的数进4位

既然两个数都是四位数,那小数千位只能是1或2,否则3000以上的数乘以4会得到5位数
凭我的能力只能列出这么点信息了,剩下的就要枚举了
思路是先控制千位,再从个位、十位、百位的顺序依次筛选
1° 小数千位为1
1不能用了,个位还剩2,8;3,2;4,6;6,4;7,8;8,2这6种可能
1.1°两数个位为2,8
则十位不进位,1,2,8不能用了,所以还剩4,6;6,4这2种可能
1.1.1°两数十位为4,6
则百位不进位,且剩下3,5,7这3个数,没有可能的组合
1.1.2°两数十位为6,4
则百位进1位,且剩下3,5,7这3个数,没有可能的组合
1.2°两数个位为3,2
则十位进1位,1,2,3不能用了,所以还剩4,7;6,5这2种可能
1.2.1°两数十位为4,7
则百位进1位,且剩下5,6,8,有6,5这一组合
得到1643和8572,不是4倍关系
1.2.2°两数十位为6,5
则百位进2位,且剩下4,7,8,有4,8和8,4这2个组合
1.2.2.1°两数百位为4,8,组成1463和7852,不是4倍关系
1.2.2.2°两数百位为8,4,组成1863和7452,是4倍关系

(已经有答案了,1863和7452
不过我还是继续枚举保证严谨,并且去找更多可能的答案,下面可以不看)

1.3°两数个位为4,6
则十位进1位,1,4,6不能用了,所以只有8,3这种可能
则百位进3位,且剩下2,5,7,没有可能的组合
1.4°两数个位为6,4
则十位进2位,1,4,6不能用了,所以只有5,2这种可能
则百位进2位,且剩下3,7,8,没有可能的组合
1.5°两数个位为7,8
则十位进2位,1,7,8不能用了,所以还剩3,4;5,2这2种可能
1.5.1°两数十位为3,4
则百位进1位,且剩下2,5,6,有6,5这一组合
得到1637和2548,不是4倍关系
1.5.2°两数十位为5,2
则百位进2位,且剩下3,4,6,有3,4这一组合
得到1357和6428,不是4倍关系
1.6°两数个位为8,2
则十位进3位,1,2,8不能用了,所以还剩3,5;5,3;6,7这3种可能
1.6.1°两数十位为3,5
则百位进1位,且剩下4,6,7,有4,7这一组合
得到1438和6752,不是4倍关系
1.6.2°两数十位为5,3
则百位进2位,且剩下4,6,7,没有可能的组合
1.6.3°两数十位为6,7
则百位进2位,且剩下3,4,5,有3,4这一组合
得到1368和5472,是4倍关系
2°小数千位为2,注意此时大数千位只可能是8,也就是说小数百位乘以4不涉及进位
则小数的百位只能为1或2,2已经用作千位,所以小数百位只能为1
1,2,8不能用了,个位还剩4,6;6,4这2种可能
2.1°两数个位为4,6
则十位进1位,且剩下3,5,7,没有可能的组合
2.2°两数个位为6,4
则十位进2位,且剩下3,5,7,没有可能的组合

综上所述,可能的结果有两个:1863和7452,或1368和5472

用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍.求非分类枚举的方法(就是猜数法)或者分类枚举方法的详细步骤 用1到8这八个数字能组成多少个四位数(不可重复使用){可以多少组} 请VB编程求解:用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍计算结果在文本框中显示出来.请问怎么用VB编程写算法?最好提供用for循环和不用for循环两种算法. C语言用1到8这八个自然数组成两个四位数(不可重复使用),其中一个四位数是另一个四“用1到8这八个自然数组成两个四位数(不可重复使用),其中一个四位数是另一个四位数的4倍,请问这两 不重复使用12345678八个数字,分别组成两个4位数.(1}使它们的和等于9999 {2}使它们的差等于2222 用1到8这八个数字,组成两个四位数,分别写出这两个四位数乘积什么时候小 用1至8这八个数字分别组成两个四位数,使它们的乘积最大 把1~9这几个数字组成两个四位数,它们的和等于10000,每个数字不能重复使用. 求全部1-8八个数字组成的和是因为9999的算式!两个四位数组成的! 用1-8这八个数字分别组成2个四位数要使相乘后的积最大,那么着两个四位数分别是什么? 用0,1,2,3,4,5,6,7这八个数字能组成多少个无重复数字的四位偶数? 用1、2、3、4、5、6、7、8、9八个数字,组成两个不同的四位数,使它们相减的差是4 用1、2、3、4、5、6、7、8、9八个数字分别组成两个四位数,使他们的和是9999 用1~8这八个数字组成两个四位数使它们的差是44448765-4321=4444 要十二个答案 快要十二个答案 用1到8八个数字分别组成两个四位数,是相乘后乘积最大,请写出这两个数 用1-8这八个数字组成两个不同的四位数使他们的差是4444急要12个 8八个数字,用它们组成两个四位数,其中一个数是另一个数的四倍,要求每个数字只能出现一次. 用1、2……9这九个数字中的八个(不能重复使用)可以组成多少个能被12整除的八位