2017第八届蓝桥杯 05 杨辉三角(java)

蓝桥杯基础练习 阅读详情


标题: 杨辉三角


杨辉三角也叫帕斯卡三角,在很多数量关系中可以看到,十分重要。


第0行:           1
第1行:          1 1
第2行:         1 2 1
第3行:        1 3 3 1
第4行:       1 4 6 4 1
....


两边的元素都是1, 中间的元素是左上角的元素与右上角的元素和。


我们约定,行号,列号都从0计数。
所以: 第6行的第2个元素是15,第3个元素是20


直观地看,需要开辟一个二维数组,其实一维数组也可以胜任。
如下程序就是用一维数组“腾挪”的解法。


public class A
{
// 杨辉三角形的第row行第col列
static long f(int row, int col){
if(row<2) return 1;
if(col==0) return 1;
if(col==row) return 1;

long[] a = new long[row+1];
a[0]=1;
a[1]=1;

int p = 2;

while(p<=row){
a[p] = 1;
for( __________________ ) a[q] = a[q] + a[q-1];
p++;
}

return a[col];
}

public static void main(String[] args){
System.out.println(f(6,2));
System.out.println(f(6,3));
}
}




请仔细分析源码,并完成划线部分缺少的代码。

注意:只提交缺少的代码,不要提交已有的代码和符号。也不要提交说明性文字。


结果:

int q=p-1;q>0;q--



代码如下:

public class Main {
	
	static long f(int row, int col){
		if(row<2) return 1;		//第一行和第二行都为1
		if(col==0) return 1;	
		if(col==row) return 1;	//最后一个数
		
		long[] a = new long[row+1];
		a[0]=1;
		a[1]=1;
		
		int p = 2;
		
		while(p<=row){	//p:行数
			a[p] = 1;	//杨辉每一行的最后一个数为1
			for(int q=p-1;q>0;q--) 	//从杨辉每一行的倒数第二数开始计算
				a[q] = a[q] + a[q-1];	//可以看出是从后往前来计算
			p++;
		}
		
		return a[col];	//返回指定的行数的值
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(f(6,2));
		System.out.println(f(6,3));	
	}

}




java 蓝桥杯 基础练习(一) 1. 闰年判断 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 年份是4的倍数而不是100的倍数; 年份是400的倍数。 其他的年份都不是闰年。 import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); int y = sc.nextInt(); if (y % 4 == 0 &am 阅读详情

相关推荐

2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】

2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】

upward 9306

杨辉三角形 (蓝桥杯) JAVA

值得注意的是,更新一维数组的时候要从后往前更新,由于杨辉三角是具有对称性,所以不影响(从前往后更新的话,数据会被覆盖)。还需要注意的是本题用long变量储存数据,出现 long >> 1 + int 类型的式子是很容易让最终结果出错的。如上图标记,我们从内往外,先 找 1 层,看是否有一个 C(r , k) = n。要使用二分法破解本题,就要对杨辉三角形,每个位置上的元素规律都有进一步的了解。解决本难题的话,如果对不了解杨辉三角的规律的话,可以用暴力混分。内的元素从上往下都是单调递增的。

Narnat的博客 3090

蓝桥杯之杨辉三角,python实现

题目 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。 输入格式 输入包含一个数n。 输出格式 输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。 样例输入 4 样例输出 1 1 1 1 2 1 1 3 3 1 数据规模与约定 1 <= n <= 34。 代码 import math n = input() n = int(n)-1

蓝桥杯——杨辉三角分析总结

题目描述 下面的图形是著名的杨辉三角形: 如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列: 1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,⋯ 给定一个正整数 N,请你输出数列中第一次出现 N是在第几个数? 输入描述 输入一个整数 NNN。 输出描述 输出一个整数代表答案。 输入输出样例 示例:输入6,输出13 评测用例规模与约定 对于 20% 的评测用例,1≤N≤10​; 对于所有评测用例,1≤N≤1000000000 运行限制 最大运行时间

Airplane2020的博客 6263

Java写一条吃满屏幕的贪吃蛇(A*自动寻路算法和一些简单的策略) 二

上一篇文章介绍了一条贪吃蛇的简单实现,这一篇介绍贪吃蛇的自动寻路算法 ,说是自动寻路其实也就是一种遍历地图的算法,如果玩过游戏肯定知道游戏里面一般会有自动寻路功能,贪吃蛇的自动寻路算法也就是实现这个功能。下面慢慢介绍这种算法吧。    最开始,我没有在网上找资料的时候,我对于设计寻路算法的看法是遍历整个地图,将障碍物做上标记,然后找一条能够到达目的地的线路就可以了。所以最开始我用了特别暴力的方式来...

Sober_yang的博客 3633

联想服务器ThinkSystemRAID阵列设置教程

关注我不迷路,全是干货! 以联想ThinkSystemSR530为例子进行示范。 开机点按【F1】 点击——【UEFI设置】 依次点击——【系统设置】——【存储】 点击——【RAID卡】 PS:本次服务器配置的是730-8i 阵列卡,按实际情况选中需要设置的阵列卡即可。 点击——【Main Menu】 点击——【Configuration Management】 点击——【Create Virtual Drive】 点击——【Select RAID Leve..

littlelotusK的博客 2万+

【已解决】蓝桥杯 2017年C组第五题 杨辉三角(分析与总结)

励志用少的代码做高效表达 题目描述: 杨辉三角也叫帕斯卡三角,在很多数量关系中可以看到,十分重要。 第0行: 1 第1行: 1 1 第2行: 1 2 1 第3行: 1 3 3 1 第4行: 1 4 6 4 1 … 两边的元素都是1, 中间的元素是左上角的元素与右上角的元素和。 我们约定,行号,列号都从0计数。 所以: 第6行的第2个元素是15,第3个元素是20 直观地看,需要开辟一个二维数组,其实一维数组也可以胜任。

weixin_43899069的博客 1514

Python爬虫实战(基础篇)—23—爬取微信小程序<随机目的地旅行>生成随机地址(附GUI版)

爬取微信小程序<随机目的地旅行>生成随机地址

weixin_42636075的博客 1232

2021蓝桥杯B组 第I题杨辉三角形

第I题 杨辉三角形 题目大意: 解法一:(得20%) 思路: 当指考虑小范围的值时,我们可以直接根据杨辉三角形的规律:第i行第j列的值=第i-1行第j列的值+第i-1行第j-11列的值,来把前50个杨辉三角形的数存入数组中,最后通过一个循环来查找就可以得到20%的分数。 代码如下: #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 10100; LL dp[N][

zjsru_Beginner的博客 2万+

最终篇——SWAT模型的建立

同理,Soil Data也是同样的方法导入,在Soil Database Options的选项中,选择UserSiol,用同样的方法导入土壤类型,进行重分类。打开窗口后,只定义HRU Thresholdes,其余两个不用设置,设定各数据单元的计算率,这里的10%的意思是计算精度,即分成级HRU计算单元太小,小于平均计算单元的10%,我们就不对这HRU单元进行计算(也就是说太破碎的计算单元不进行计算),若选择0%意味着全部进行计算,需要耗费大量的内存和时间,对计算机要求较高,不建议。

m0_72556434的博客 5623

ESP32-S3驱动雨滴传感器实战:从原理到ADC/GPIO双模式数据采集

本文详细介绍了ESP32-S3驱动雨滴传感器的实战教程,涵盖其工作原理及ADC/GPIO双模式数据采集方法。通过解析传感器利用水的导电性检测雨量的核心机制,提供了完整的硬件连接方案与软件驱动代码,包括模拟量(AO)的ADC读取和数字量(DO)的GPIO读取,并附有调试技巧,帮助开发者快速实现雨滴检测功能。

weixin_32005771的博客 155

蓝桥杯 杨辉三角形【第十二届】【省赛】【B组】c++题解

题目:将杨辉三角的所有数从上到下,从左到右,排成一列,输入一个N,判断最早出现N是在第几个数。 思路:因为“从上到下,从左到右”,因此从三角形中间划一条垂线,则N一定位于左边。然后,我们发现从右上到左下的每一条斜行(将全是1的情况暂时忽略)都存在这样的规律: 【1】开头的数为C(2x,x),x从1开始递增,例如2是C(2,1),6是C(4,2)。。。 【2】每一斜行的递增规律是C(2x++,x),例如6是C(4,2),10是C(5,2)。。。 【3】我们可以发现例如数字6有两个,而我们想输出的是位置

weixin_63800030的博客 3368

MATLAB实战:5分钟搞定雷达信号分选SDIF算法(附完整源码下载)

本文详细介绍了如何在MATLAB中快速实现雷达信号分选的SDIF算法,通过序列差直方图统计高效识别脉冲重复间隔(PRI)。文章包含完整源码下载,从算法原理到实战调优技巧,帮助工程师在5分钟内掌握核心实现方法,显著提升雷达信号处理效率。

info6的博客 615

Java实现第八届蓝桥杯杨辉三角

杨辉三角 杨辉三角...

327

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3989

Android SystemUI——初始化流程(三)

1、Android 系统在启动之后,首先会Zygote进程,Zygote进程又会进一步启动 SystemServer进程,它会启动各种系统所需要的服务,在监听AMS启动完毕之后,还会启动SystemUIService。2、在启动SystemUIService服务之前,系统首先会创建SystemUI对应的进程,获取SystemUIAppComponentFactory实例对象,调用instantiateApplicationCompat创建SystemUIApplication实例对象并设置回调方法。

小旭的专栏 1159

蓝桥杯真题2017-2021

刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一 文章目录2017年真题一、购物单二、纸牌三角形三、承压计算四、魔方状态五、取数位六、最大公共子串七、日期问题八、包子凑数九、分巧克力十、k倍区间小结2018年真题一、第几天二、方格计数三、复数幂四、测试次数九、全球变暖十、堆的计数2019年真题01-试题 A: 组队02-试题 B: 不同子串03-试题 C: 数列求值04-试题 D: 数的分解05-试题 E: 迷宫06-试题 F: 特别数的和07-试题 G: 外卖店优

doyoudooo的博客 7518

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

力扣杨辉三角c语言,杨辉三角

分类:二维数组及滚动数组题目描述:给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。解题思路1:在杨辉三角中,每个数是它左上方和右上方的数的和。题目给的这一句话提示就够了。稍微麻烦的是要考虑头尾为1的情况那不如杨辉三角经典算法大总结(Java版)2021-05-03 20:57:33前言杨辉三角,也叫贾宪三角,帕斯卡三角。最早出...

weixin_34668160的博客 640

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝桥杯 基础练习01 Java实现

蓝桥杯的基础练习,别处的答案有的写得很冗余,没有充分利用java简洁的方法,在这里有我自己整合写的代码,仅提供java实现,如有问题,欢迎探讨。 蓝桥杯 基础练习02 Java实现 已解决进制转换问题1.闰年判断/* 基础练习 闰年判断 问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数; 2. 年份是400

阿康的博客 3464

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【蓝桥杯备考资料】如何进入国赛?

蓝桥杯整体而言难度并不大,我在考前很长一段时间有坚持刷力扣,顺利省一,进入国赛拿到国二。我主要使用的是Java语言,报名的是Java B组,以下是一些小TIPS。

Magnolia_He的博客 4362

“蓝桥杯”练习系统 基础练习

BASIC Problemset 纸上得来终觉浅,绝知此事要躬行。

NOW I GOT ONE WAY 3687

蓝桥杯2013--2020历届真题及题解目录

题目及题解持续更新中 2017第八届省赛-java-A组-题目+题解 2017第八届省赛-java-B组-题目+题解 序号+题目名称 题目+题解代码 题目类型 分值 题目01: 购 物 单… 题目+题解 结果填空 5 题目02: 纸牌三角形 题目+题解 结果填空 11 题目03: 承 压 计 算 题目+题解 结果填空 13 题目04: 魔 方 还 原 题目+题解 ...

Xiong-er 的博客 1万+

【蓝桥杯Java_C组·从零开始卷】第三节(附)、for循环练习题(数据题与图形题)

目录 一、基础数据 1、斐波那契数列 2、水仙花数 3、大马驮粮食 4、过路口 5、叠纸 二、图形文打印 1.打印正方形 2、左直角三角形 3、右直角三角形 4、等腰三角形 5、倒左直角三角形 6、倒右直角三角形 7、菱形 8、杨辉三角 9、九九乘法表(直角四个方向) 一、基础数据 1、斐波那契数列 斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列 ”; * 指的是这

红目香薰 2235

【蓝桥杯】基础练习试题

1.闰年判断 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1.年份是4的倍数而不是100的倍数; 2. 年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个整数y,表示当前的年份。 输出格式 输出一行,如果给定的年份是闰年,则输出yes,否则输出no。 代码 import java.util.Scanner; public class Main{ public static void m

桥本环奈 338

string转decimal java_JAVA基础练习试题(4)蓝桥杯 附源代码

(4)JAVA-基础练习本篇基础练习试题预览:09.特殊回文数10.十进制转十六进制11.十六进制转十进制12.十六进制转八进制13.数列排序上篇试题:05.查找整数06.杨辉三角形07.特殊的数字08.回文数09特殊回文数●问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等...

weixin_39757743的博客 164

Python选手必看:蓝桥杯Python组(大学B/C组)从报名到拿奖的保姆级攻略

本文为Python选手提供蓝桥杯Python组(大学B/C组)从报名到拿奖的保姆级攻略,涵盖组别选择、备赛策略、实战技巧和考场经验。特别针对非重点院校学生,分享Python 3.8.6环境下的高效编码技巧、Excel解题妙招以及精准的备赛计划,帮助选手避开常见陷阱,提升获奖概率。

weixin_30765505的博客 470
上一篇: 2017第八届蓝桥杯 04 承压计算(java)
下一篇: lcd彩屏画点画线和画圆 嵌入式开发
mainn
博客等级 码龄10年 865粉丝 447原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值