给一个数字串s和正整数d,统计s有多少种不同的排列能被d整除

发布网友 发布时间:2024-10-24 09:32

我来回答

2个回答

热心网友 时间:2024-11-09 11:00

这题直接用排列组合的思路很繁难。计算量非常大。需要转变思路。考虑这样的六位数:ABCD00,它必能被100整除,则六位数ABCD00 - 四位数ABCD必能被99整除。我们就要找到这样的ABCD,使得ABCD00 - ABCD 各位数字小于5。【列成竖式比较直观】

显然:

1 ≤ A ≤ 4。

0 ≤ B ≤ 4。在此基础上:

10 - D ≤ 4,得D≥6。

9 - C ≤ 4,得5≤C<9。

D - 1 - B ≤ 4,得B≥D - 5

C - A ≤ 4,得A≥C - 4

根据上述条件,枚举C、D,并结合A、B的范围,有:

D = 6时,B = 4、3、2、1共4种

D = 7时,B = 4、3、2共3种

D = 8时,B = 4、3共2种

D = 9时,B = 4共1种

C = 5时,A = 4、3、2、1共4种

C = 6时,A = 4、3、2共3种

C = 7时,A = 4、3共2种

C = 8时,A = 4共1种

可知这样的数一共有:

(4+3+2+1)×(4+3+2+1) = 10×10 = 100 种。


扩展资料:

系数性质:

⑴和首末两端等距离的系数相等;

⑵当二项式指数n是奇数时,中间两项最大且相等;

⑶当二项式指数n是偶数时,中间一项最大;

⑷二项式展开式中奇数项和偶数项总和相同,都是2^(n-1);

⑸二项式展开式中所有系数总和是2^n

组合数的奇偶

奇偶定义:对组合数C(n,k)(n>=k):将n,k分别化为二进制,若某二进制位对应的n为0,而k为1 ,则C(n,k)为偶数;否则为奇数。

下面是判定方法:

结论:

对于C(n,k),若n&k == k 则c(n,k)为奇数,否则为偶数。

证明:

对于C(n,k),若n&k == k 则c(n,k)为奇数,否则为偶数。

证明:

利用数学归纳法:

由C(n,k) = C(n-1,k) + C(n-1,k-1)。

参考资料来源:百度百科-排列组合

热心网友 时间:2024-11-09 10:54

#includeintmain(){intnum;inta;//百位intb;//十位intc;//个位scanf("%d",&num);a=num/100;//默认强制转为整型b=(int)(num/10)%10;//强制转化c=num%10;if(num%(a+b+c)==0)//conditionprintf("Ok!!!\n");elseprintf("Can'tdoit!!\n");getchar();return0;}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com