排列组合用若干个长宽高分别为2,3,5的长方体,依相同方向拼成一
用若干个长宽高分别为2,3,5的长方体,依相向拼成一个棱长为90的正方体,则正方体的一条对角线穿过的小长方体共有多少个?
类似于求集合元素的个数的方法 用r(A)表示集合A的元素的个数, 则r(A∪B∪)=[r(A)+r(B)+r(C)]-[r(A∩B)+r(A∩C)+r(B∩C)]+r(A∩B∩C) 这理解起来不容易,还是看最下面一段的文字说明。 ------------------------ 好象找到这样一个计算方法: 90中2的正约数45个,3的正约数30个,5的正约数18个; 6的正约数15个,10的正约数9个,15的正约数6个; 30的正约数3个。 用求集合元素个数的方法, (45+30+18)-(15+9+6)+3=66 这不是巧合,这有道理,但只能意会。 -------------------------------------- 我没有找到一个很好的公式,只能用想象和实验的方法寻找答案。 2,3,5的最小公倍数是30 借助一个空间直角坐标系,放一个棱长为30的正方体, 对角线从点O(0,0,0)开始,到点P(30,30,30)结束, 所有的格点(k,k,k)(k是不大于30的自然数) 考虑长2,每当k增加2,就增加一个2×3×5的小长方体, k=2,4,6,8,10,12,14,16,18,20,22,24,26,28,30(*), 都在小长方体的边界上,因而这对角线至少要经过15个小长方体。 考虑宽3,每当k增加3,就增加一个2×3×5的小长方体, k=3,6,9,12,15,18,21,24,27,30都在小长方体边界上, 去掉与(*)中重复的6,12,18,24,30(2和3的公倍数),还有5个, 即k=3,9,15,21,27(**)时,将分别新增小长方体,5个 考虑高5,每当k增加5,就增加一个2×3×5的小长方体, k=5,10,15,20,25,30都在小长方体的边界上, 去掉与(*)(**)中重复的数,还有k=5,25,只有2个新数 15+5+2=22 因此棱长30的正方体对角线将经过22个小正方体。 90/30=3,22*3=66 棱长90的正方体对角线穿过的小长方体共有66个