三种方式求杨辉三角形

第一种

#include<stdio.h>
int main()
{
	int n;
	int i,j;
	int a[100][50];
	scanf("%d",&n);
	a[0][0]=1;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			a[i][j]=a[i-1][j]+a[i-1][j-1];
			printf("%d ",a[i][j]);
		}
		printf("\n");

	}
	return 0;
}

第二种

#include <stdio.h>
#define N 4
int main()
{
 	int i,j,a[N][N]={0};
    for(i=0;i<N;i++)
    {
        a[i][0]=1;//第一列全为1
        a[i][i]=1;//对角线全为1
    }
    for(i=1;i<N;i++)
    {
    	for(j=1;j<i;j++)//从1开始,避免越界
            a[i][j]=a[i-1][j-1]+a[i-1][j];
    }

    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++) //j<=i
		{
			printf("%d ",a[i][j]);//
		}
  		printf("\n");
    }
 return 0;
}  

第三种

#include<stdio.h>
#define N 10
int main()
{
 	int i,j,a[10][10];
 	for(i=0;i<4;i++)
 	{
 		for(j=0;j<=i;j++)
		{
		 	if(j==0||i==j)
		 		a[i][j]=1;
 		    else
		   		a[i][j]=a[i-1][j]+a[i-1][j-1];

		   	printf("%d ",a[i][j]);
	   	}
	   	printf("\n");
	}
}
时间: 2024-11-13 19:25:39

三种方式求杨辉三角形的相关文章

三种方式求: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示

package com.example; public class Solution { /* * 转化成2进制数计算 */ public int NumberOf1(int n) { String string = Integer.toBinaryString(n); int count = 0; for (int i = 0;i < string.length();i++) { if (string.charAt(i) == '1') { count++; } } return count;

求子集的三种方式的总结

求自己总共有三种方式: 增量构造 位向量 二进制 首先假设集合A中有n个元素,而且是非重集,一个下标唯一对应一个元素,那么求A的子集就变成了求0~n-1的子集.这个思想对于所有的三种方式都是通用的. 第一种增量构造法的思想是,每一次都从0~n-1中挑出一个元素来,每挑一次,就是一个集合.然后再挑元素进入这个集合,但是这次挑选元素的时候,必须比之前的那个元素大. 下面是代码实现: //假设后一个非可重集合P,里面的元素各不相同,现在要从中挑选出它的所有子集来 //这个问题可以转换成挑选出P数组的下

估计高斯混合模型参数的三种方式

对于如下的两类别的高斯混合模型 \[ \pi\cdot N(\mu_1,\sigma_1^2)+(1-\pi)\cdot N(\mu_2,\sigma_2^2) \] 参数为\(\theta = (\pi, \mu_1,\mu_2,\sigma_1,\sigma_2)\).至今,我了解到有三种方式来估计这五个参数.这三种方式分别为梯度下降法.EM算法和Gibbs采样,而且这三种算法并非毫不相关.EM算法其实是简化梯度下降法中对于对数似然的计算,而Gibbs采样跟EM算法区别在于前者采样后者求最大

AngularJs学习——实现数据绑定的三种方式

三种方式: 方式一:<h5>{{msg}}</h5>  此方式在页面刷新的时候会闪现{{}} 方式二:<h5 ng-bind="msg"></h5> 方式三:<h5 ng-clock class="ng-clock">{{msg}}</h5> 示例代码: <!DOCTYPE html> <html lang="en" ng-app="myapp&q

小蚂蚁学习页面静态化(2)——更新生成纯静态化页面的三种方式

更新生成纯静态化页面的三种方式:1.按照时间间隔更新.2.手动更新.3.定时更新(需要系统配合). 1. 按照时间间隔更新. 当用户第一次访问这个页面的时候,程序自动判断,该静态文件是否存在,并且该文件是否还在有效时间内,如果该文件未超出了有效时间,用户访问的是已经生成的静态文件.如果超出了有效时间,用户得到的是动态输出的内容,同时重新生成静态文件.稍微修改一下昨天的代码为例: <?php //首先判断是否有静态文件,并且文件的最新修改时间到现在是否大于20秒 if(is_file('./tex

Linux中设置服务自启动的三种方式

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s                       在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0-6七个运行级别之一) chkonfig                命令行运行级别设置 ntsysv                   伪图形运行级别设置 注意:1.这三种方式主要用于以redhat为基础的发行版 2.如果还不知道运行级别是什么,那么最

Linux识别ntfs及挂载的三种方式

NTFS-3G是一个开源软件,支持在Linux操作系统下读写NTFS格式的分区.它能快速且安全的操作Windows XP,Windows Server 2003, Windows 2000 以及WindowsVista文件系统. 1 .环境准备 安装该软件需要依赖于fuse, Centos6.*中应该默认安装过fuse: [[email protected] yum.repos.d]# rpm -q fuse fuse-2.8.3-4.el6.i686 已经安装 如果没有安装可以yum安装或者编

Tomcat热部署的三种方式

热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效.但是对配置文件的修改除外! 1.直接把项目web文件夹放在webapps里. 2.在tomcat\conf\server.xml中的<host></host>内部添加<context/>标签: <Context debug="0" docBase="D:\demo1\web" path="/demo1"

【Struts2】Struts2获取session的三种方式

1.Map<String,Object> map =  ActionContext.getContext().getSession(); 2.HttpSession session = ServletActionContext.getRequest().getSession(); 3.让Action实现SessionAware接口,并实现public void setSession(Map<String, Object> session) {} 方法,Struts2会在实例化Act