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 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实现第八届蓝桥杯杨辉三角的更多相关文章
- 2017蓝桥杯杨辉三角(C++C组)
题目: 杨辉三角也叫帕斯卡三角,在很多数量关系中可以看到,十分重要.第0行: 1第1行: 1 1第2行: 1 2 1第3行: 1 3 ...
- Java数组的应用:案例:杨辉三角,三维数组,字符串数组
//import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...
- java例题_33 等腰输出杨辉三角
1 /*33 [程序 33 杨辉三角] 2 题目:打印出杨辉三角形(要求打印出 10 行如下图) 3 程序分析: 4 1 5 1 1 6 1 2 1 7 1 3 3 1 8 1 4 6 4 1 9 1 ...
- Java实现第八届蓝桥杯购物单
购物单 题目描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打 ...
- Java实现第八届蓝桥杯国赛 数字划分
标题:数字划分 w星球的长老交给小明一个任务: 1,2,3-16 这16个数字分为两组. 要求: 这两组数字的和相同, 并且,两组数字的平方和也相同, 并且,两组数字的立方和也相同. 请你利用计算机的 ...
- Java实现第八届蓝桥杯图形排版
标题:图形排版 小明需要在一篇文档中加入 N 张图片,其中第 i 张图片的宽度是 Wi,高度是 Hi. 假设纸张的宽度是 M,小明使用的文档编辑工具会用以下方式对图片进行自动排版: 1. 该工具会按照 ...
- Java实现第八届蓝桥杯魔方状态
魔方状态 题目描述 二阶魔方就是只有2层的魔方,只由8个小块组成. 如图p1.png所示. 小明很淘气,他只喜欢3种颜色,所有把家里的二阶魔方重新涂了颜色,如下: 前面:橙色 右面:绿色 上面:黄色 ...
- Java实现第八届蓝桥杯青蛙跳杯子
青蛙跳杯子 题目描述 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里 ...
- Java实现第八届蓝桥杯兴趣小组
兴趣小组 为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组 (以下称A组,B组,C组). 每个小组的学生名单分别在[A.txt],[B.txt]和[C.txt]中. 每个文件中存储的是学生的 ...
随机推荐
- jstree 反选,测试400条数据左右有点卡
$("#reversecheckallmachines").on("change", function () { var checkedNodes = []; ...
- tp5.1使用路径常量
echo "app_path=========".Env::get('app_path')."</br>"; echo "root_pat ...
- ES6-10笔记(二)
class类 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类) ...
- Rasa init报错:AttributeError: type object 'Callable' has no attribute '_abc_registry'
错误:Rasa init --no-prompt 报错 原因:Python升级到3.7后会遇到该问题 解决:pip uninstall typing
- spark机器学习从0到1主成分分析-PCA (八)
PCA 一.概念 主成分分析(Principal Component Analysis)是指将多个变量通过线性变换以选出较少数重要变量的一种多元统计分析方法,又称为主成分分析.在实际应用场合中,为 ...
- for循环中break和continue的区别
break 会立即退出循环,强制执行循环后面的语句 默认只会终止紧邻的循环,如果要终止其他循环,需要给循环起名字 例如: name:for(var i = 0; i < 5; i++){ for ...
- gRPC负载均衡(自定义负载均衡策略)
前言 上篇文章介绍了如何实现gRPC负载均衡,但目前官方只提供了pick_first和round_robin两种负载均衡策略,轮询法round_robin不能满足因服务器配置不同而承担不同负载量,这篇 ...
- 如何将你的node服务放到线上服务器
最近在用node写后端数据处理,以前虽然也用node写数据来进行测试,但是一直都是处于本地使用, 今天想将node作为后端服务来处理数据, 特此,以此博客记录. 第一步,写node 接口, 在本地我们 ...
- python3.x 基础三:set集合
集合,set(),记住: 1个特点:去重,把列表变成集合,达到自动去重操作,无序 5个关系:测试两个列表的交差并子反向差集 方法: | add(...) 常用,已存在元素去重不生效 | A ...
- vscode环境配置(一)——C Program运行
ctrl + shift +p 打开应用商店 搜索 C/C++ 和 Code Runner(一键编译运行)