1073_杨辉三角形
2019-11-14 12:05:23
供稿:网友
// 1073_杨辉三角形.cpp : 定义控制台应用程序的入口点。//题目1073:杨辉三角形//时间限制:1 秒内存限制:32 兆特殊判题:否提交:4381解决:1894//题目描述://输入n值,使用递归函数,求杨辉三角形中各个位置上的值。//输入://一个大于等于2的整型数n//输出://题目可能有多组不同的测试数据,对于每组输入数据,//按题目的要求输出相应输入n的杨辉三角形。//样例输入://6//样例输出://1 1//1 2 1//1 3 3 1//1 4 6 4 1//1 5 10 10 5 1#include "stdafx.h"#include "iostream"#include "stdio.h"#include "string.h"using namespace std;int a[110][110];int visit[110][110];int n;int Yanghui(int i,int j){ if(j==0 || i == j){ return 1; } else for(int k = 1;k<i;k++){ if(!visit[i][k]){ if (!visit[i-1][k-1]){ a[i-1][k-1] = Yanghui(i-1,k-1); visit[i-1][k-1] = 1; } if(!visit[i-1][k]){ a[i-1][k] = Yanghui(i-1,k); visit[i-1][k-1] = 1; } a[i][k] = a[i-1][k-1]+a[i-1][k]; visit[i][k] = 1; } }}int main(){ while(scanf("%d",&n)!=EOF){ //memset(a,1,sizeof(a)); for (int i = 0;i<=n;i++) for (int j =0;j<=n;j++) a[i][j] = 1; memset(visit,0,sizeof(visit)); Yanghui(n-1,1); for(int i=1;i<n;i++){ int j; for(j = 0;j<i;j++) cout<<a[i][j]<<" "; cout<<a[i][j]<<endl; } } return 0;}/*1.memset()只能赋值0和-1;*/