摘要: 裸的卡特兰数C++#include#includeusing namespace std;#define base 10000#define len 100void multiply(int a[],int max,int b){ int i,array=0; for(i=max-1;i>=0;i--) { array+=b*a[i]; a[i]=array%base; array/=base; }}void divide(int a[],int max,int b){ int i,div=0; for(i=... 阅读全文
posted @ 2014-01-18 17:45 forever97 阅读(269) 评论(0) 推荐(0) 编辑
摘要: #include int num[10000][260]={0};int main(){ int i,j,n; num[1][0]=1; num[2][0]=1; num[3][0]=1; num[4][0]=1; for(i=5;i100000000) { num[i][j+1]+=num[i][j]/100000000; num[i][j]%=100000000; } } while(scanf("%d",&n)!=EOF) { for(i=... 阅读全文
posted @ 2014-01-18 15:51 forever97 阅读(121) 评论(0) 推荐(0) 编辑
摘要: JAVA水过(注:转载)import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { new Main(); } public Main(){ BigDecimal r; int n; Scanner sc=new Scanner(System.in); ... 阅读全文
posted @ 2014-01-18 15:20 forever97 阅读(135) 评论(0) 推荐(0) 编辑
摘要: /*高精度*/#include #include using namespace std;const int modnum=10;int main(){ int n; scanf("%d",&n); int m=n; while(n--) { printf("Case %d:\n",m-n); int a[1010]={0},b[1010]={0},c[1010]={0}; char ch1[1010],ch2[1010]; scanf("%s",&ch1); scanf("%s",&ch2 阅读全文
posted @ 2014-01-18 10:13 forever97 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目大意:求一个数的阶乘的位数。单词积累:factorial 阶乘题解:我们知道log10(n!)+1就是n的阶乘的位数,转化一下,log10(n!)+1=log10(1)+log10(2)+log10(3)+……+1;#include #include int main(){ int n; ... 阅读全文
posted @ 2014-01-18 09:40 forever97 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个房间,n!个钥匙,在房间中,最多可以破k扇门,然后得到其中的钥匙,去开其它的门,但是第一扇门不可以破开,求可以打开所有门的概率。题解:首先,建立这样的一个模型,题目相当于给出一个图,求形成1--K个环的可能性有多大。但是节点1不可以形成子环。那么首先,n个点形成1--k个环就是第一类斯特灵数的定义,但是该如何处理1的问题呢,既然算起来比较麻烦,那么正难则反,减去节点1成为自环的情况就可以了。第一类斯特林公式:S(m,n)=(m-1)*S(m-1,n)+S(m-1,n-1)。#include #include using namespace std;long long ans[2 阅读全文
posted @ 2014-01-18 09:10 forever97 阅读(189) 评论(0) 推荐(0) 编辑