欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

第十二届蓝桥杯JavaB组省赛H题 杨辉三角形

发布时间:2023/12/19 java 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 第十二届蓝桥杯JavaB组省赛H题 杨辉三角形 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

早上的比赛,忘记测试用例了。

计算输入数字N在杨辉三角形中出现的第一个位置
(把杨辉三角形平铺成一个数列)

我是构建了杨辉三角,用count记录添加次数,发现N时输出count
(注意特判当N是1时输出1,count初始化为1)

import java.util.*;public class Main {public static void triangle(int N) {if (N == 1) {System.out.println(1);return;}List<List<Integer>> answers = new ArrayList<List<Integer>>();int count = 1;// 外循环构造i行杨辉三角for (int i = 0; ; ++i){// 内构造杨辉三角的第i行List<Integer> answer = new ArrayList<>();for (int j = 0; j <= i; ++j){if (j == 0 || j == i){answer.add(1);count++;}else{answer.add(answers.get(i - 1).get(j - 1) + answers.get(i - 1).get(j));// 发现Nif (answers.get(i - 1).get(j - 1) + answers.get(i - 1).get(j) == N) {System.out.println(count);return;}count++;}}answers.add(answer);}} public static void main(String[] args) {Scanner sc = new Scanner(System.in);triangle(sc.nextInt());} }

总结

以上是生活随笔为你收集整理的第十二届蓝桥杯JavaB组省赛H题 杨辉三角形的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。