杨辉三角是一个很经典的问题,所以我们在这里好好讨论一下…….
第一种实现方法:
public class T
{
public static void main(String args[])
{
for(int i=0;i<9;i++)
{
for(int j=0;j<=i;j++)
System.out.print(c(i,j)+”/t”);
System.out.println();
}
}
static long c(int n ,int k)
{
return p(n,k)/f(k);
}
static long f(int n)
{
long f=1;
while (n>1)
f*=n–;
return f;
}
static long p(int n ,int k)
{
long p=1;
for (int i=0;i<k;i++)
p*=n–;
return p;
}
}
//////////////////////////////////////////////////////////////
第二种实现方案:
import java.io.*;
public class Yang1
{
public static void main(String args[])
{
for (int i=0;i<9;i++)
{
for(int j=0;j<=i;j++)
System.out.print(c(i,j)+”/t”);
System.out.println();
}
}
static long c(int n,int k)
{if(k<0||k>=n)
return 1;
else
return c(n-1,k)+c(n-1,k-1);
}
}
/////////////////////////////////
很明显,第二种方案要简单一些,至少在代码的输入方面是这样的。当然,杨辉三角还有其他的方法,读者不妨好好想想,也许你一不小心就发现了一个更好的方法。