HDU3304 POJ3146 Interesting Yang Hui Triangle Lucas定理
来源:互联网 发布:三星手机怎么恢复数据 编辑:程序博客网 时间:2024/05/19 15:20
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3304
http://poj.org/problem?id=3146
题目大意:找出杨辉三角中第n+1行不能被素数p整除的数有多少个。
分析:这题是HDU4349的加强版。同样是Lucas定理解决。
我们知道,对于一个组合数C(n,m)mod p来说,我们用a[k]a[k-1]...a[0],b[k]b[k-1]...b[0]来分别表示n和m对应的p进制数,那么有C(n,m)mod p=C(a[k],b[k])×C(a[k-1],b[k-1])×...×C(a[0],b[0])mod p,要想使C(n,m)不能被p整除,只需保证C(a[i],b[i])(i form 0 to k)中没有0出现,即,不存在C(a[i],b[i]),使得a[i]>=b[i]===>C(a[i],b[i])=0,当且仅当b[i]>a[i],所以,每一位上的bi的方案数就是(ai%p+1),由乘法原理,总方案数就是这些方案数的乘积。
实现代码如下:
#include <cstdio>#include <iostream>using namespace std;const int mod=10000;int main(){ int p,n,T=1; while(scanf("%d%d",&p,&n)!=-1) { if(p==0&&n==0) break; int ans=1; while(n) { ans*=(n%p+1); n/=p; if(ans>=mod) ans%=mod; } printf("Case %d: %04d\n",T++,ans); } return 0;}
0 0
- HDU3304 POJ3146 Interesting Yang Hui Triangle Lucas定理
- LA3700 Interesting Yang Hui Triangle(Lucas定理)
- poj 3146 Interesting Yang Hui Triangle (Lucas定理)
- poj 3146/hdu 3304/uva 1384 Interesting Yang Hui Triangle Lucas定理
- poj 3146 Interesting Yang Hui Triangle(lucas定理的应用)
- HDU 3304 Interesting Yang Yui Triangle lucas定理
- POJ 3146 Interesting Yang Hui Triangle
- POJ 3146 Interesting Yang Hui Triangle 笔记
- hdu3306Interesting Yang Yui Triangle+LUCAS定理
- hdu 3304 Interesting Yang Yui Triangle
- POJ 3146 & HDU 3304 Interesting Yang Yui Triangle(杨辉三角)
- Lucas 定理
- Lucas 定理
- lucas定理
- Lucas定理
- Lucas 定理
- Lucas 定理
- Lucas 定理
- Linux配置
- jquery中的模糊匹配查找标签
- 大数据
- 小糖出品:方法的定义与实现
- 提高第37课时,实践2,电子词典
- HDU3304 POJ3146 Interesting Yang Hui Triangle Lucas定理
- Android学习笔记--HttpURLConnection和HttpClient的使用
- 2-4
- JAVA快速排序算法
- java多线程基础1
- c++中__declspec用法总结
- android项目打包成apk
- [Java]插入排序
- 单例模式和多线程