基础训练 杨辉三角(java C 同步实现)

来源:互联网 发布:加油卡充值软件 编辑:程序博客网 时间:2024/06/11 22:26
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
解释:其实二者原理都是一样的,只是用不同方式表现出来,根据杨辉三角的性质,我们首先把它每一行的首末位置的值都赋予“1”,然后让他下一行的第二个数开始等于“头上”的数加上它左上角相邻的数,,即(a[i][j]=a[i-1][j]+a[i-1][j-1])很简单,自己试着写一下吧,,,(下面是分别用两种语言实现的具体代码)

Java实现:
importjava.util.Scanner;public class Main {   public static void main(String[] args) {       // TODOAuto-generated method stub             Scanner sc=new Scanner(System.in);             int n=sc.nextInt();       intarr[]=new int[35];       for(inti=1;i<=n;i++){          arr[1]=arr[i]=1;       for(intj=i-1;j>1;j--){          arr[j]+=arr[j-1];          }       for(intj=1;j<=i;j++){      System.out.print(arr[j]+" ");             }      System.out.println();       }   }}



C语言实现:
#includeint main(){int n;scanf("%d",&num);int a[100][100]={0};int i,j;for(i=1;ja[i][0]=1;a[i][i]=1;}for(i = 1;ifor(j=1;j<=i;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}for(i = 1;ifor(j=1;j<=i;j++){printf("%d",a[i][j]);}printf("\n");}printf("\n");return 0;}


注:网页下编辑的代码,可能存在个别符号是中文状态下。

原创粉丝点击