【数论】三个袋子

本文探讨了一道关于将不同小球放入三个相同袋子的问题,通过数论的方法找出放球的方案总数。题目要求计算方案数模K的结果。作者分享了从排列组合到发现递推关系f[n] = 3*f[n-1]-1,最后得出通项公式f[n] = (3^(n-1)+1)/2,并利用快速幂求解。遇到的挑战是如何处理模运算中的除法,尤其是除数为偶数时。文中还给出了证明a/b (mod c) = (a%(b*c))/b的思路。
摘要由CSDN通过智能技术生成

三个袋子

(bags.pas/c/cpp/in/out)

时限:1 sec | 内存:64 MB

背景

    平平在公园里游玩时捡到了很多小球,而且每个球都不一样。平平找遍了全身只发现了3个一模一样的袋子。他打算把这些小球都装进袋子里(袋子可以为空)。他想知道他总共有多少种放法。

 

题目描述

    将N个不同的球放到3个相同的袋子里,求放球的方案总数M。

    结果可能很大,我们仅要求输出M mod K的结果。

    现在,平平已经统计出了N<=10的所有情况。见下表:

N

1

2

3

4

5

6

7

8

9

10

M

1

2

5

14

41

122

365

1094

3281

9842

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值