class
BigNum
... {
public static void main(String[] args)
...{
JieCheng j=new JieCheng();
j.doJieCheng(300);
j.output();
}
}
class JieCheng
... {
private StringBuffer result;//结果
private StringBuffer tem;//加数
public JieCheng()
...{
tem=new StringBuffer();
result=new StringBuffer();
}
public void doJieCheng(int n)
...{
if(n>=1)
...{
tem.append('1');
result.append('1');
}
for(int i=2;i<=n;i++)
...{
for(int j=1;j<=i-1;j++)//*****只要相加i-1次就可以得到了,而不是i次
...{
int t=0;//进位
int r=0;//余数
for(int k=0;k<result.length();k++)
...{
int sum=result.charAt(k)-'0';
if(k<tem.length())
...{
sum=sum+(tem.charAt(k)-'0');
}
sum+=t;
t=sum/10;
r=sum%10;
char temChar='0';
temChar+=r;
result.setCharAt(k,temChar);
//System.out.println("r="+r);
}
if(t!=0)
...{
result.append(t+"");
}
}
tem=new StringBuffer();
for(int k=0;k<result.length();k++)
...{
tem.append(result.charAt(k));
}
}
}
public void output()
...{
for(int i=result.length()-1;i>=0;i--)
...{
System.out.print(result.charAt(i));
}
}
} ;
... {
public static void main(String[] args)
...{
JieCheng j=new JieCheng();
j.doJieCheng(300);
j.output();
}
}
class JieCheng
... {
private StringBuffer result;//结果
private StringBuffer tem;//加数
public JieCheng()
...{
tem=new StringBuffer();
result=new StringBuffer();
}
public void doJieCheng(int n)
...{
if(n>=1)
...{
tem.append('1');
result.append('1');
}
for(int i=2;i<=n;i++)
...{
for(int j=1;j<=i-1;j++)//*****只要相加i-1次就可以得到了,而不是i次
...{
int t=0;//进位
int r=0;//余数
for(int k=0;k<result.length();k++)
...{
int sum=result.charAt(k)-'0';
if(k<tem.length())
...{
sum=sum+(tem.charAt(k)-'0');
}
sum+=t;
t=sum/10;
r=sum%10;
char temChar='0';
temChar+=r;
result.setCharAt(k,temChar);
//System.out.println("r="+r);
}
if(t!=0)
...{
result.append(t+"");
}
}
tem=new StringBuffer();
for(int k=0;k<result.length();k++)
...{
tem.append(result.charAt(k));
}
}
}
public void output()
...{
for(int i=result.length()-1;i>=0;i--)
...{
System.out.print(result.charAt(i));
}
}
} ;