精华内容
下载资源
问答
  • 给定任意杨辉三角行数n,请输出杨辉三角中前n行中总共有多少偶数。 【题解】:  找规律:1为奇数 0为偶数 打出表 1111011111100011100111010101111111111000000011100000011101000001011111...

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=4225

    【题意】:

    给定任意杨辉三角的行数n,请输出杨辉三角中n中总共有多少偶数。

    【题解】:

      找规律:1为奇数 0为偶数  打出表

    1
    11
    101
    1111
    10001
    110011
    1010101
    11111111
    100000001
    1100000011
    10100000101
    111100001111
    1000100010001
    11001100110011
    101010101010101
    1111111111111111

    该发现什么了吧!!!

    【code】:

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 #include <algorithm>
     5 
     6 using namespace std;
     7 #define N 3000000
     8 #define MOD 10000000
     9 
    10 int  sum[N+10];
    11 
    12 int main()
    13 {
    14     sum[0]=1;
    15     sum[1]=2;
    16     sum[2]=2;
    17     sum[3]=4;
    18     int i,j,cnt=4;
    19     for(i=4;i<=N;)
    20     {
    21         for(j=0;j<cnt&&i<=N;j++,i++)
    22         {
    23             sum[i]=2*sum[j];  //求第i行奇数的个数
    24         }
    25         cnt*=2;
    26     }
    27     for(i=0;i<=N;i++)
    28     {
    29         sum[i]=i+1-sum[i];  //第i行偶数的个数
    30     }
    31     for(i=1;i<=N;i++)
    32     {
    33         sum[i]=(sum[i]+sum[i-1])%MOD;  //前i行偶数的个数
    34     }
    35     //for(i=0;i<100;i++)cout<<sum[i]<<endl;
    36     int n;
    37     while(cin>>n)
    38     {
    39         cout<<sum[n]<<endl;
    40     }
    41     return 0;
    42 }

     

    转载于:https://www.cnblogs.com/crazyapple/p/3340805.html

    展开全文
  • 杨辉三角形规律

    千次阅读 2018-10-25 16:45:40
    杨辉三角形如图  1  1 1  1 2 1  1 3 3 1 1 4 6 4 1 我们假定用一个二维数组num存储 我们可以发现每一行首尾都是1. 从第三行非1数是由它上一行...

    杨辉三角形如图



                    1
                1        1
            1        2        1
        1        3        3        1
    1        4        6        4        1



    我们假定用一个二维数组num存储
    我们可以发现每一行的首尾都是1.
    从第三行非1的数是由它上一行的对应位置的数加上左前位置的数所得的。
    即,num[i][j] = num[i-1][j]+num[i-1][j-1]


    我们现在举例说明:
    我们假设要求出杨辉三角形前10行数据


    源代码:

    #include<iostream>
    #include<cstdio>
    #include<iomanip>
    #include<cstring>
    using namespace std;
    
    int num[101][101];
    
    int main()
    {
    	memset(num,0,sizeof(num));
    	num[1][1] = 1;   //初始化第一行的数 
    	
    	for(int i = 2;i<=10;i++)
    	{
    		num[i][1] = 1;
    		num[i][i] = 1;
    		for(int j = 2;j<=i;j++)
    		{
    			num[i][j] = num[i-1][j]+num[i-1][j-1];
    		}
    	}
    	
    	for(int i = 1;i<=10;i++)
    	{
    		for(int j = 1;j<=i;j++)
    		{
    			cout<<setw(5)<<num[i][j];
    		}
    		cout<<endl;
    	}
    	
    	return 0;
    }

    个人搭建博客链接:

    http://47.107.118.184

     

    展开全文
  • 杨辉三角形

    2014-11-23 16:40:07
    // All rights reserved.  // 作 者:A23罗燕芬 ...// 问题描述:创建一个程序,根据杨辉三角形的规律,输入并输出杨辉三角形。 // 输入描述:输入杨辉三角形的规律。 // 程序输出:杨辉三角形的输出
    //Copyright (c) 2014软件技术1班
    // All rights reserved. 
    // 作    者:A23罗燕芬
    // 完成日期:2014年 11 月 23日  
    // 版 本 号:v1.0
    // 问题描述:创建一个程序,根据杨辉三角形的规律,输入并输出杨辉三角形。
    // 输入描述:输入杨辉三角形的规律。

    // 程序输出:杨辉三角形的输出

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication3
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[,] num = new int[11, 11];//定义数组
    
                //数组赋值
                for (int i = 0; i < num.GetLength(0); i++)
                {
    
                    for (int j = 0; j < num.GetLength(1); j++)
                    {
                        if (i == j || j == 0) num[i, j] = 1;
                        else if (i > 1&&j>0) num[i, j] = num[i - 1, j - 1] + num[i - 1, j];
                        else num[i, j] = 0;
    
                    }
    
                }
    
                //输出数组
    
                for (int i = 0; i < num.GetLength(0); i++)
                {
    
                    for (int j = 0; j < num.GetLength(1); j++)
                    {
                        if (num[i, j] != 0) Console.Write("{0 } ", num[i, j]);
                        else Console.Write(" ");
                       
                    }
                    Console.WriteLine();
    
                }
    
                Console.ReadKey();
    
    
            }
        }
    }
    



    总结:加深了对数组的了解,对for循环的使用更加深刻。


    展开全文
  • Java实现杨辉三角形

    2019-12-02 11:30:33
    二、杨辉三角形的规律 第n行有n个数字. 每一行的开始和结尾数字都为1. 用二维数组表示就是a[i][0]=1; a[i][j]=1(当i==j时); 第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。 用二维数组表...

    一:前言

    实现杨辉三角,需要知道什么是杨辉三角。如下图,就是两种杨辉三角。这两种杨辉三角形是目前最常见的:
    (1)等边形状的杨辉三角
    等边形状的杨辉三角形
    (2)直角形状的杨辉三角
    直角形状的杨辉三角形

    二、杨辉三角形的规律

    第n行有n个数字.
    每一行的开始和结尾数字都为1.
    用二维数组表示就是a[i][0]=1; a[i][j]=1(当i==j时);

    第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。
    用二维数组表示就是 a[i+1][j]=a[i][j-1]+a[i][j];

    三、示例 (创建一个长度为10,宽度为10的二维数组,但赋值和输出时只输出杨辉三角那个范围的数)

    首先,我们来看看这个长度为10,宽度为10 的数组究竟是怎么回事

    public class Test {
    	public static void main(String[] args) {
    		int [][] arr=new int [10][10];
    		for(int i=0;i<arr.length;i++) {
    			for(int j=0;j<arr[i].length;j++) {
    				System.out.print(arr[i][j]+"\t");
    			}
    			System.out.println();
    		}
    	}
    }
    

    在这里插入图片描述
    第一种方法

    public class Triangle1 {
    	public static void main(String[] args) {
    		//定义了一个长度为10,高度为10的二维数组,数组中的值都为0;
    		int[][] arr=new int[10][10];
    		for(int i=0;i<arr.length; i++) {
    			//由于只是给杨辉三角内的位置赋值,所以是j<=i
    			for(int j=0;j<=i;j++) {
    				//根据规律,使用if else 赋值
    				if(j==0||j==i) {
    					arr[i][j]=1;
    				}else {
    					arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
    				}
    				/*由于只是输出杨辉三角范围内的值,所以在内层循环就输出,这种方法不能全部赋值完之后再输出
    					"\t"的原因是10和小于10的数组的宽度不同,所以使用\t制表符能使数与数之间距离相等
    				*/
    				System.out.print(arr[i][j]+"\t");
    			}
    			System.out.println();
    		}
    	}
    }
    

    在这里插入图片描述
    第二种方法 (这里用这种是输出的一个直角三角形,但是在最后输出的时候加上一段就可以变成等腰三角形了)

    public class Triangle2 {
    	public static void main(String[] args) {
    		int[][] arr=new int[10][];
    		for(int i=0;i<arr.length;i++) {
    			arr[i]=new int[i+1];
    		}
    		for(int i=0;i<arr.length;i++) {
    			for(int j=0;j<arr[i].length;j++) {
    				if(j==0 || i==j) {
    					arr[i][j]=1;
    				}else {
    					arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
    				}
    			}
    		}
    		for(int i=0;i<arr.length;i++) {
    			for(int j=0;j<arr[i].length;j++) {
    				System.out.print(arr[i][j]+"\t");
    			}
    			System.out.println();
    		}
    	}
    }
    

    等边三角形:

    public class Triangle3 {
     
    	public static void main(String[] args) {
    		int rows = 10;
     
    		for (int i = 0; i < rows; i++) {
    			int number = 1;
    			// 打印空格字符串
    			System.out.format("%" + (rows - i) * 2 + "s", "");
    			for (int j = 0; j <= i; j++) {
    				System.out.format("%4d", number);
    				number = number * (i - j) / (j + 1);
    			}
    			System.out.println();
    		}
    	}
    }
    

    重点在于那个number=number*(i-j)/(j+1),掌握了杨辉三角的作用。而关于System.out.format是一种类似于C语言中的输出,查看API即可知。
    在这里插入图片描述
    参考链接地址

    展开全文
  • 杨辉三角形(java)

    2018-09-28 12:10:33
    那时还没写数组和递归,让我们用循环打印杨辉三角形,我想了很久,找到了打印杨辉三角形的规律。 package com.bdqn.dreaming.Test; import java.util.Scanner; public class TriangleTest { public static void ...
  • 打印杨辉三角形

    2019-11-08 17:11:14
    杨辉三角形规律: 三角形图案输出: 实现思路: 我们定义一个二维数组,所有元素先初始化为 0; 给数组第 1 列和对角线元素赋值为 1; 其余元素 a[i][j]=a[i-1][j-1]+a[i-1][j]; 1.3 代码实现 #include <...
  • 输入格式: 输入一个正整数n ...要输出杨辉三角形,先要了解杨辉三角形的性质下面是图片 从第三行开始 我们不妨把三角中的数定做is(x,y),x是行数,y是列数,列如is(5,3)值的数是6 规律是下面某一个...
  • JavaScript输出杨辉三角形杨辉三角形的特点和规律代码如下:结果 杨辉三角形的特点和规律 起始行为第0行,第N行为N+1个数 从 N >= 2行开始,每一行的数值(不包含两边的数值)都是上一行两个数字的相加。 当 J=1...
  • Java输出杨辉三角形

    2019-07-03 20:00:35
    本节利用过 Java 语言中的流程控制语句,如条件语句、循环语句和跳转语句等知识输出一个...打印杨辉三角形的实现思路是:每一行前面都是空格,而每行空格的个数需要根据总行数来确定,这个可以通过找规律归纳出来...
  • C 杨辉三角形

    2020-12-22 00:01:16
    课堂作业,杨辉三角形 规律: N行第0个总是1 当N行N列相等时 也是1 除去N行第0列 和行列相等时数组元素之和都是data[i-1][j] + data[i-1][j-1] 之和 #include<stdio.h> #define Maxsize 10 int main() { ...
  • 题目:求 n次二项式各项的系数,已知二项式的展开式为: 解题思路: 如果直接用上面的公式去...有一个数学常识:各阶多项式的系数,成杨辉三角形的规律,具体如下所示: ( a+b )0 1 ( a+b )11 1 ( a+b )2 ...
  • 输出以下的杨辉三角形(要求输出10行)(12分) (0,0)1 (1,0)1 1(1,1) (2,0)1 2 1(2,2) (3,0)1 3 3 1(3,3) (4,0)1 4 6 4 1(4,4) (5,0)1 5 10 10 5 1(5,5) : : : : : : #include ...
  • 杨辉三角形大家都知道,那么在这里就不再介绍了,...在杨辉三角形中,有一个很大的规律: 就是每一行的第一个和最后一个都是1,那中间的数据是怎么生成的呢? 中间的数据其实就是一个公式:(假设n表示行,m表示列) list
  • java等腰杨辉三角形

    2020-07-16 14:27:02
    编程思路:与直角杨辉三角形一样,唯一的区别就是一个是直角三角形,一个是等腰三角形,打印出等腰三角形,注意空格数和行数以及输出多少个元素的规律 1.空格数 = 总行数 - 这个元素的行数(这个元素在第几行) ...
  • Java杨辉三角形案例

    2021-03-02 14:56:14
    首先从找到杨辉三角形的得值规律,从中规律有第一行为1;其余行两端都为1,其余数为上一行两相邻数的加法得数。图: 二、源码 public class YangHuiTriangle { public static void main(String[] args) { ...
  • 如何输出杨辉三角形

    2019-05-04 22:26:39
    杨辉三角形 提到杨辉三角形.大家应该都很熟悉.这是我国宋朝数学家杨辉在公元1261年著书《详解九章算法》提出。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 我们不难其规律: S1:这些数排列...
  • 文章目录一、杨辉三角形二、二项式定理三、编程打印杨辉三角形1、采用二维列表来处理杨辉三角2、编写程序 - 杨辉三角.py3、运行程序,查看结果 一、杨辉三角形 杨辉三角,是二项式系数在三角形中一种几何排列,...
  • 打印出杨辉三角形

    2019-05-30 22:52:00
    * 题目:打印出杨辉三角形(要求打印出10行如下图) 思路:双重循环 第一层打印每一样 第二层打印每一列 根据规律计算每一个位置上数字值 public class 第三十三题打印杨辉三角 { public static void ...
  • 输出杨辉三角形

    2019-01-19 20:09:03
    杨辉三角的规律为: (1)各行第一个数都是1 (2)各行最后一个数都是1 (3)从第3行起,除第一个和最后一个数,其余都是上一行同一列和前一列两个数之和。可以表示为:a(i)(j)=a(i-1)(j)+a(i-1)(j-1),i为行数,j为...
  • 首先我们先了解一下什么是杨辉三角形,下面是一张图片,我们可以从中发现一个规律,每一个数字都是它上方两个数字和。 问题分析:由上可知杨辉三角在每一个数字都是它上方两个数字和,所以这个便是这道题关键...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 274
精华内容 109
关键字:

杨辉三角形的规律