hdu 1023 Train Problem II(Catlan数)
来源:互联网 发布:mysql like语句 编辑:程序博客网 时间:2024/06/11 01:34
http://acm.hdu.edu.cn/showproblem.php?pid=1023
Catlan数计算模板(适用于数据较大的时候使用)
#include<iostream>using namespace std;int a[105][1005];void ktl() { a[2][0]=1,a[2][1]=2; a[1][0]=1,a[1][1]=1; int len=1; for(int i=3;i<101;i++) // 递归公式: h(n) = h(n-1)*(4*n-2)/(n+1) { int yu=0; //保存每一位的进位数 for(int j=1;j<=len;j++) //计算 s(n)=h(n-1)*(4*n-2) { int t=a[i-1][j]*(4*i-2)+yu; yu=t/10; a[i][j]=t%10; } while(yu) { a[i][++len]=yu%10; yu/=10; } for(int j=len;j>=1;j--) //计算 s(n)/(n+1) { int t=a[i][j]+yu*10; a[i][j]=t/(i+1); yu=t%(i+1); } while(!a[i][len]) //去掉前导0 计算数据长度 len--; a[i][0]=len; }}int main(){ ktl(); int n; while(cin>>n) { for(int i=a[n][0];i>0;i--) //注意保存下来的数据是逆序的,因此要倒着输出 cout<<a[n][i]; cout<<endl; } return 0;}
阅读全文
0 0
- hdu 1023 Train Problem II(Catlan数)
- hdu 1023 Train Problem II(catalan数)
- hdu 1023 Train Problem II (catalan数)
- Train Problem II hdu 1023 卡特兰数 (模板)
- hdu 1023 Train Problem II (卡特兰数)
- HDU 1023 Train Problem II(卡特兰数)
- HDU---1023-Train Problem II (Catalan数)
- hdu 1023 Train Problem II (卡特兰数)
- HDU-1023 Train Problem II(卡特兰数)
- HDU 1023 Train Problem II (卡特兰数)
- HDU 1023 Train Problem II(卡特兰数)
- hdu 1023 Train Problem II
- HDU-1023 Train Problem II
- HDU 1023 Train Problem II
- hdu 1023 Train Problem II
- hdu 1023 Train Problem II
- hdu 1023 - Train Problem II
- HDU 1023 Train Problem II
- 53. Maximum Subarray
- SpringMVC验证框架Validation分组验证
- java设计模式之单例模式
- 仿时光相册里列表滚动条
- Kotlin一周总结
- hdu 1023 Train Problem II(Catlan数)
- Head First设计模式 读书笔记01 策略模式(Ruby代码实现)
- android开发四种引用的详解
- TTL电平与RS232电平的区别
- 前端小结--ajax和spring互传json对象,并显示到列表中
- REST与RESTFul API最佳实践
- 图的遍历(上)——邻接矩阵表示
- 【算法】总结之前篇
- 文章标题