首页 > 试题广场 >

方程 a*b = (a or b) * (a and b),

[填空题]
方程 a*b = (a or b) * (a and b),在 a,b 都取 [0, 31] 中的整数时,共有__1___组解。(*表示乘法;or 表示按位或运算;and 表示按位与运算)

(模拟找规律的题)

根据程序的运行结果可得:

1  :  00000  00000
2  :  00000  00001
3  :  00000  00010
4  :  00000  00011
5  :  00000  00100
6  :  00000  00101
7  :  00000  00110
8  :  00000  00111
9  :  00000  01000
10  :  00000  01001
11  :  00000  01010
12  :  00000  01011
13  :  00000  01100
14  :  00000  01101
15  :  00000  01110
16  :  00000  01111
17  :  00000  10000
18  :  00000  10001
19  :  00000  10010
20  :  00000  10011
21  :  00000  10100
22  :  00000  10101
23  :  00000  10110
24  :  00000  10111
25  :  00000  11000
26  :  00000  11001
27  :  00000  11010
28  :  00000  11011
29  :  00000  11100
30  :  00000  11101
31  :  00000  11110
32  :  00000  11111
33  :  00001  00000
34  :  00001  00001
35  :  00001  00011
36  :  00001  00101
37  :  00001  00111
38  :  00001  01001
39  :  00001  01011
40  :  00001  01101
41  :  00001  01111
42  :  00001  10001
43  :  00001  10011
44  :  00001  10101
45  :  00001  10111
46  :  00001  11001
47  :  00001  11011
48  :  00001  11101
49  :  00001  11111
50  :  00010  00000
51  :  00010  00010
52  :  00010  00011
53  :  00010  00110
54  :  00010  00111
55  :  00010  01010
56  :  00010  01011
57  :  00010  01110
58  :  00010  01111
59  :  00010  10010
60  :  00010  10011
61  :  00010  10110
62  :  00010  10111
63  :  00010  11010
64  :  00010  11011
65  :  00010  11110
66  :  00010  11111
67  :  00011  00000
68  :  00011  00001
69  :  00011  00010
70  :  00011  00011
71  :  00011  00111
72  :  00011  01011
73  :  00011  01111
74  :  00011  10011
75  :  00011  10111
76  :  00011  11011
77  :  00011  11111
78  :  00100  00000
79  :  00100  00100
80  :  00100  00101
81  :  00100  00110
82  :  00100  00111
83  :  00100  01100
84  :  00100  01101
85  :  00100  01110
86  :  00100  01111
87  :  00100  10100
88  :  00100  10101
89  :  00100  10110
90  :  00100  10111
91  :  00100  11100
92  :  00100  11101
93  :  00100  11110
94  :  00100  11111
95  :  00101  00000
96  :  00101  00001
97  :  00101  00100
98  :  00101  00101
99  :  00101  00111
100  :  00101  01101
101  :  00101  01111
102  :  00101  10101
103  :  00101  10111
104  :  00101  11101
105  :  00101  11111
106  :  00110  00000
107  :  00110  00010
108  :  00110  00100
109  :  00110  00110
110  :  00110  00111
111  :  00110  01110
112  :  00110  01111
113  :  00110  10110
114  :  00110  10111
115  :  00110  11110
116  :  00110  11111
117  :  00111  00000
118  :  00111  00001
119  :  00111  00010
120  :  00111  00011
121  :  00111  00100
122  :  00111  00101
123  :  00111  00110
124  :  00111  00111
125  :  00111  01111
126  :  00111  10111
127  :  00111  11111
128  :  01000  00000
129  :  01000  01000
130  :  01000  01001
131  :  01000  01010
132  :  01000  01011
133  :  01000  01100
134  :  01000  01101
135  :  01000  01110
136  :  01000  01111
137  :  01000  11000
138  :  01000  11001
139  :  01000  11010
140  :  01000  11011
141  :  01000  11100
142  :  01000  11101
143  :  01000  11110
144  :  01000  11111
145  :  01001  00000
146  :  01001  00001
147  :  01001  01000
148  :  01001  01001
149  :  01001  01011
150  :  01001  01101
151  :  01001  01111
152  :  01001  11001
153  :  01001  11011
154  :  01001  11101
155  :  01001  11111
156  :  01010  00000
157  :  01010  00010
158  :  01010  01000
159  :  01010  01010
160  :  01010  01011
161  :  01010  01110
162  :  01010  01111
163  :  01010  11010
164  :  01010  11011
165  :  01010  11110
166  :  01010  11111
167  :  01011  00000
168  :  01011  00001
169  :  01011  00010
170  :  01011  00011
171  :  01011  01000
172  :  01011  01001
173  :  01011  01010
174  :  01011  01011
175  :  01011  01111
176  :  01011  11011
177  :  01011  11111
178  :  01100  00000
179  :  01100  00100
180  :  01100  01000
181  :  01100  01100
182  :  01100  01101
183  :  01100  01110
184  :  01100  01111
185  :  01100  11100
186  :  01100  11101
187  :  01100  11110
188  :  01100  11111
189  :  01101  00000
190  :  01101  00001
191  :  01101  00100
192  :  01101  00101
193  :  01101  01000
194  :  01101  01001
195  :  01101  01100
196  :  01101  01101
197  :  01101  01111
198  :  01101  11101
199  :  01101  11111
200  :  01110  00000
201  :  01110  00010
202  :  01110  00100
203  :  01110  00110
204  :  01110  01000
205  :  01110  01010
206  :  01110  01100
207  :  01110  01110
208  :  01110  01111
209  :  01110  11110
210  :  01110  11111
211  :  01111  00000
212  :  01111  00001
213  :  01111  00010
214  :  01111  00011
215  :  01111  00100
216  :  01111  00101
217  :  01111  00110
218  :  01111  00111
219  :  01111  01000
220  :  01111  01001
221  :  01111  01010
222  :  01111  01011
223  :  01111  01100
224  :  01111  01101
225  :  01111  01110
226  :  01111  01111
227  :  01111  11111
228  :  10000  00000
229  :  10000  10000
230  :  10000  10001
231  :  10000  10010
232  :  10000  10011
233  :  10000  10100
234  :  10000  10101
235  :  10000  10110
236  :  10000  10111
237  :  10000  11000
238  :  10000  11001
239  :  10000  11010
240  :  10000  11011
241  :  10000  11100
242  :  10000  11101
243  :  10000  11110
244  :  10000  11111
245  :  10001  00000
246  :  10001  00001
247  :  10001  10000
248  :  10001  10001
249  :  10001  10011
250  :  10001  10101
251  :  10001  10111
252  :  10001  11001
253  :  10001  11011
254  :  10001  11101
255  :  10001  11111
256  :  10010  00000
257  :  10010  00010
258  :  10010  10000
259  :  10010  10010
260  :  10010  10011
261  :  10010  10110
262  :  10010  10111
263  :  10010  11010
264  :  10010  11011
265  :  10010  11110
266  :  10010  11111
267  :  10011  00000
268  :  10011  00001
269  :  10011  00010
270  :  10011  00011
271  :  10011  10000
272  :  10011  10001
273  :  10011  10010
274  :  10011  10011
275  :  10011  10111
276  :  10011  11011
277  :  10011  11111
278  :  10100  00000
279  :  10100  00100
280  :  10100  10000
281  :  10100  10100
282  :  10100  10101
283  :  10100  10110
284  :  10100  10111
285  :  10100  11100
286  :  10100  11101
287  :  10100  11110
288  :  10100  11111
289  :  10101  00000
290  :  10101  00001
291  :  10101  00100
292  :  10101  00101
293  :  10101  10000
294  :  10101  10001
295  :  10101  10100
296  :  10101  10101
297  :  10101  10111
298  :  10101  11101
299  :  10101  11111
300  :  10110  00000
301  :  10110  00010
302  :  10110  00100
303  :  10110  00110
304  :  10110  10000
305  :  10110  10010
306  :  10110  10100
307  :  10110  10110
308  :  10110  10111
309  :  10110  11110
310  :  10110  11111
311  :  10111  00000
312  :  10111  00001
313  :  10111  00010
314  :  10111  00011
315  :  10111  00100
316  :  10111  00101
317  :  10111  00110
318  :  10111  00111
319  :  10111  10000
320  :  10111  10001
321  :  10111  10010
322  :  10111  10011
323  :  10111  10100
324  :  10111  10101
325  :  10111  10110
326  :  10111  10111
327  :  10111  11111
328  :  11000  00000
329  :  11000  01000
330  :  11000  10000
331  :  11000  11000
332  :  11000  11001
333  :  11000  11010
334  :  11000  11011
335  :  11000  11100
336  :  11000  11101
337  :  11000  11110
338  :  11000  11111
339  :  11001  00000
340  :  11001  00001
341  :  11001  01000
342  :  11001  01001
343  :  11001  10000
344  :  11001  10001
345  :  11001  11000
346  :  11001  11001
347  :  11001  11011
348  :  11001  11101
349  :  11001  11111
350  :  11010  00000
351  :  11010  00010
352  :  11010  01000
353  :  11010  01010
354  :  11010  10000
355  :  11010  10010
356  :  11010  11000
357  :  11010  11010
358  :  11010  11011
359  :  11010  11110
360  :  11010  11111
361  :  11011  00000
362  :  11011  00001
363  :  11011  00010
364  :  11011  00011
365  :  11011  01000
366  :  11011  01001
367  :  11011  01010
368  :  11011  01011
369  :  11011  10000
370  :  11011  10001
371  :  11011  10010
372  :  11011  10011
373  :  11011  11000
374  :  11011  11001
375  :  11011  11010
376  :  11011  11011
377  :  11011  11111
378  :  11100  00000
379  :  11100  00100
380  :  11100  01000
381  :  11100  01100
382  :  11100  10000
383  :  11100  10100
384  :  11100  11000
385  :  11100  11100
386  :  11100  11101
387  :  11100  11110
388  :  11100  11111
389  :  11101  00000
390  :  11101  00001
391  :  11101  00100
392  :  11101  00101
393  :  11101  01000
394  :  11101  01001
395  :  11101  01100
396  :  11101  01101
397  :  11101  10000
398  :  11101  10001
399  :  11101  10100
400  :  11101  10101
401  :  11101  11000
402  :  11101  11001
403  :  11101  11100
404  :  11101  11101
405  :  11101  11111
406  :  11110  00000
407  :  11110  00010
408  :  11110  00100
409  :  11110  00110
410  :  11110  01000
411  :  11110  01010
412  :  11110  01100
413  :  11110  01110
414  :  11110  10000
415  :  11110  10010
416  :  11110  10100
417  :  11110  10110
418  :  11110  11000
419  :  11110  11010
420  :  11110  11100
421  :  11110  11110
422  :  11110  11111
423  :  11111  00000
424  :  11111  00001
425  :  11111  00010
426  :  11111  00011
427  :  11111  00100
428  :  11111  00101
429  :  11111  00110
430  :  11111  00111
431  :  11111  01000
432  :  11111  01001
433  :  11111  01010
434  :  11111  01011
435  :  11111  01100
436  :  11111  01101
437  :  11111  01110
438  :  11111  01111
439  :  11111  10000
440  :  11111  10001
441  :  11111  10010
442  :  11111  10011
443  :  11111  10100
444  :  11111  10101
445  :  11111  10110
446  :  11111  10111
447  :  11111  11000
448  :  11111  11001
449  :  11111  11010
450  :  11111  11011
451  :  11111  11100
452  :  11111  11101
453  :  11111  11110
454  :  11111  11111

规律为:

若a有n个1,则b的情况有:

1.b中a为1的位置为1 , b中a为0的位置任意选

eg.a=00011,b=00111,01011...

2.b中a为0的位置为0 , b中a为1的位置任意选
eg.a=00011,b=00010,00001...

3.答案为 1.的值 + 2.的值 -1(两种情况有一种重复)即 图片说明

∴总的答案为:


编辑于 2020-09-15 12:17:13 回复(0)
只要一个数&另一个数等于这个数就可以了
发表于 2019-10-17 18:58:54 回复(0)
0~31就是5位二进制数
然后,满足这个等式的a,b两数满足如下关系:一个数中是1的位,在另一个数中也都是1
举例:3和7,分别是00011和00111,3的两位1在7中也是1;3和5,分别是00011和00101,就不满足这个关系
然后,我们只要根据其中一个数中1的位数进行分类,用组合数求出每一类的个数,然后乘以每一类对应的满足关系的数字个数,就可以得到结果
比如:有1位1的数,有C(5,1)=5个,对应的满足关系的数有两种情况:这一位是1,另外4位任意,有2^4=16个;另外4位是0,这一位任意,有2^1=2个;再减去重复计算的两数相等的1种情况;最终得到这类数字对应的满足等式的数字对有C(5,1)*(16+2-1)=85个
以下是完整的计算式:
C(5,0)*(32+1-1)+C(5,1)*(16+2-1)+C(5,2)*(8+4-1)+C(5,3)*(4+8-1)+C(5,4)*(2+16-1)+C(5,5)*(1+32-1)

发表于 2019-09-07 17:38:02 回复(1)