有多少个这样的4位数
有多少个同时符合以下两条要求的4位数:1、能被4整除,并且各位数字之和亦能被4整除,
2、含有数字4。 我的做法如下:
假定这个四位数是abcd, 我把它分成 ab 和 cd 两截,条件等价于
1、cd能被4整除,a+b除以4的余数加上c+d除以4的余数,和能被4整除。
2、ab含4且cd含4 + ab含4且cd不含4 + ab不含4且cd含4.
下表是分类统计数据表
cd含4cd无4
余0:5组余1:0组余2:2组余3:0组余0:4组余1:4组余2:4组余3:6组
ab含4余0:4组20///16///
余1:6组///0///36
余2:4组//8///16/
余3:4组/0///16//
ab无4余0:18组90///
余1:16组///0
余2:19组//38/
余3:19组/0//
合计:20+8+16*3+36+90+38=240
表中余0,余1,余2,余3是两数之和除以4的余数。各组的大小按下帖的方法详列而来,我想知道有没有更简单的方法,谢谢!
2#中分组统计详情
用{x}表示整数 x 除以 4 的余数,四位数记为abcd, 按题目的条件1可得{c}={a+b}={{a}+{b}}
{d}={2c}(这称为同余式)
于是我们可以按{x}的值将0,1,2,3,4,5,6,7,8,9分成4组
{0}: (0,4,8),
{1}: (1,5,9),
{2}: (2,6),
{3}: (3,7)
且称为同余组。
如果abcd是一个符合条件1的数,那么各位上的数字换成同余组的其它数字也是一个满足条件1的四位数(首位不为零的话)。、
也就是说它代表一簇解{a}{b}{c}{d}. 这一簇解的个数就等于4个同余组的长度之积。
任取 {a}, {b},可按上面的同余式计算出 {c}, {d},然后结合条件2滤去不含4的解。
例1 {a}=0,{b}=0,→{c}=0, {d}=0,可得0000簇:(48)(048)(048)(048), 其中不含4的为(8)(08)(08)(08), 所以这一簇有2×3×3×3-1×2×2×2=46解。
例2 {a}=1,{b}=1,→{c}=2, {d}=0,可得1120簇:(159)(159)(26)(4), 这一簇有3×3×2×1=18解。
一共16簇,全列如下:
0000:(48)(048)(048)(048)-(8)(08)(08)(08), 54-8=46
0112:(4)(159)(159)(26), 18
0220:(48)(26)(26)(048)-(8)(26)(26)(08),24-8=16
0332:8
1012:(159)(4)(159)(26), 18
1120:18
1232:0
1300:(159)(37)(048)(048)-(159)(37)(08)(08), 54-24=30
2020:(26)(048)(26)(048)-(26)(08)(26)(08), 36-16=20
2132:0
2200:20
2312:0
3032:8
3100: 30
3212: 0
3320: 8
合计240
题目太碎了,直接穷举法!从1000开始穷举! 240个,直接计算机穷举!
Clear["Global`*"];(*清除所有变量*)
aa=Range
bb=Select,4]==0&]
cc=Select,4]&]
{1124, 1164, 1304, 1340, 1344, 1348, 1384, 1412, 1416, 1452, 1456, \
1492, 1496, 1524, 1564, 1704, 1740, 1744, 1748, 1784, 1924, 1964, \
2024, 2064, 2204, 2240, 2244, 2248, 2284, 2420, 2424, 2428, 2460, \
2464, 2468, 2604, 2640, 2644, 2648, 2684, 2824, 2864, 3104, 3140, \
3144, 3148, 3184, 3324, 3364, 3432, 3436, 3472, 3476, 3504, 3540, \
3544, 3548, 3584, 3724, 3764, 3904, 3940, 3944, 3948, 3984, 4000, \
4004, 4008, 4040, 4044, 4048, 4080, 4084, 4088, 4112, 4116, 4152, \
4156, 4192, 4196, 4220, 4224, 4228, 4260, 4264, 4268, 4332, 4336, \
4372, 4376, 4400, 4404, 4408, 4440, 4444, 4448, 4480, 4484, 4488, \
4512, 4516, 4552, 4556, 4592, 4596, 4620, 4624, 4628, 4660, 4664, \
4668, 4732, 4736, 4772, 4776, 4800, 4804, 4808, 4840, 4844, 4848, \
4880, 4884, 4888, 4912, 4916, 4952, 4956, 4992, 4996, 5124, 5164, \
5304, 5340, 5344, 5348, 5384, 5412, 5416, 5452, 5456, 5492, 5496, \
5524, 5564, 5704, 5740, 5744, 5748, 5784, 5924, 5964, 6024, 6064, \
6204, 6240, 6244, 6248, 6284, 6420, 6424, 6428, 6460, 6464, 6468, \
6604, 6640, 6644, 6648, 6684, 6824, 6864, 7104, 7140, 7144, 7148, \
7184, 7324, 7364, 7432, 7436, 7472, 7476, 7504, 7540, 7544, 7548, \
7584, 7724, 7764, 7904, 7940, 7944, 7948, 7984, 8004, 8040, 8044, \
8048, 8084, 8224, 8264, 8400, 8404, 8408, 8440, 8444, 8448, 8480, \
8484, 8488, 8624, 8664, 8804, 8840, 8844, 8848, 8884, 9124, 9164, \
9304, 9340, 9344, 9348, 9384, 9412, 9416, 9452, 9456, 9492, 9496, \
9524, 9564, 9704, 9740, 9744, 9748, 9784, 9924, 9964}
总共240个,没技术含量。一点技术含量都没有! nyy 发表于 2024-10-28 09:23
240个,直接计算机穷举!
Clear["Global`*"];(*清除所有变量*)
aa=Select,And,4]==0,MemberQ,4]]&]
写成一行代码! 早在3#就发过下面的程序和结果,后来整理删帖了。也想到有人会再发出来的:L
Select,Mod==0&& MemberQ &]//Length nyy 发表于 2024-10-28 09:23
240个,直接计算机穷举!
这样的4位数有240个。
这样的5位数有2706个。
这样的6位数有30001个。
这样的7位数有——个?
1, 含有数字4。这样的n位数是这样一串数。
{1, 18, 252, 3168, 37512, 427608, 4748472, 51736248, 555626232, 5900636088, 62105724792}
2, 能被4整除。这样的n位数是这样一串数。
{2, 22, 225, 2250, 22500, 225000, 2250000, 22500000, 225000000, 2250000000}
3, 各位数字之和能被4整除。这样的n位数是这样一串数。
{2, 22, 224, 2249, 22500, 225002, 2250004, 22500004, 225000000}
把3者混合在一起就成了第4串数,第4串数就出不来了。
4, {0, 0, 18, 240, 2706, 30001, 326298, 3499240, 37118136}
Table, And, 4] == 0, MemberQ, 4]] &], {a, 9}]
5, {0, 0, 4, 60, 677, 7500, 81573, 874809, 9279532, 97578279}
Table, And, 8] == 0, MemberQ, 8]] &], {a, 10}]
18=4*4+2。
240=60*4+0。
2706=677*4-2。
30001=7500*4+1。
326298=81573*4+6。
3499240=874809*4+4。
37118136=9279532*4+8。
?=97578279*4+?。
可惜第5串数还是出不来。
页:
[1]
2