【数论】三角关系
一个高中学长问的一道题,挺有意思的。也是简单数论
根据同余的加性,(以下以=代替同余号)
由于a+b=b+c(%k),b=b(%k)
所以可以得到a=c(%k)
同理可以得到a=b=c(%k)
所以目标转化为找同余数。由于任意两个相加需要是K的倍数,所以他们的余数必须都为k/2或者0。
设余数为i,在k是偶数的时候余数可以是k/2和k,在k为奇数的时候i只能是k。
算出每组的个数,再组合数算一下。任意m个里取1个有m种排法,取2个有6*C(m,2)种,取3个有A(3,3)*C(m,3)种。答案就是他们加起来。由于解题的时候在上课,所以我并没有写代码,提问者照着我的思路写了,并且AC了…………
是Java,把int改为long long就AC了
发表评论