alice编程
发布时间: 2025-08-29 02:40:41
alice喜欢的是n位数,我们可以取所有不大于n位数的非负整数作为集合A;把小于n位数的非负整数作为集合B。
那么我们知道alice喜欢的数是集合A中的数去除集合B中的数。A-B.
比如alice喜欢的三位数,那么最大的三位数是999,集合A就是从0到999,而集合B就是0到99。
比如alice喜欢一位数,那么最大一位数是9,集合A为0到9,集合B为空集。
事情就变得很简单了。
在集合A中bob喜欢的数个数一共有,集合A中最大的数对m的整除并加1,得到结果 a。
在集合B中bob喜欢的数个数一共有,集合B中最大的数对m的整除并加1,得到结果b。
举例:alice喜欢三位数,bob是整除3的数。那么A={0...999}, B={0...99}
因此 a = 999/3 + 1 = 334, b=99/3+1=34。
因此alice,bob都喜欢的数个数为 a-b=334-34= 300.
再举例:alice喜欢三位数,bob是整除2的数。那么A={0...999}, B={0...99}
因此 a = 999/2 + 1 = 500, b=99/2+1=50。
因此alice,bob都喜欢的数个数为 a-b=500-50= 450.
再举例:alice喜欢一位数,bob是整除2的数。那么A={0...9}, B=空集
因此 a = 9/2 + 1 = 5, b=0,这里B是空集,如果你理解之前为什么加1就能理解b=0。
每次a,b求值运算都有一个加1,是因为集合包含元素0,而0能被任何整数整除。
这里由于集合B是空集,不包含任何元素,因此集合B中能被2整除的数据个数必定是0,因此 b= 0,
所以alice,bob都喜欢的数个数为 a-b=5 - 0 = 5.
热点内容