励志用少的代码做高效表达


题目描述:

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

第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

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


分析与思考

代码填空题一般来讲都是考查递归或递推(因为其他的也没什么好考查的, 一个调试就出来了)。 相对来说是三种题型中技巧性最高、也是不太容易得分的一道题。

这里讲一讲我解代码填空的技巧

首先确定他的题型, 如果不是递归或递推,只是输出某种图案或结构,那么直接采用输出测试、注释、调试等手段, 慢慢可以试出答案。

如果是递归、回溯、递推等题型,那么就需要先手算出大致的推理过程, 最后填入代码。 如本题就是一道递推题, 我们先将n等于2,3,4,5分别求出, 根据初始条件推理如何才能得到这种解, 一层一层的分析, 最后可以比较容易的得到递推公式。

当然, 今天离蓝桥杯省赛还有两天的时间, 如果觉得自己对递归了解不够,不具备这样的能力, 那就瞎试吧, 成功率也是蛮高的。

总结一下技巧:手算推导、输出测试、注释输出、调试、随机测试(瞎试) (如果对你产生了帮助, 记得给博主一个赞哟)

上程序

#include<bits/stdc++.h>
using namespace std;long long f(int row, int col){if(row<2) return 1;if(col==0) return 1;if(col==row) return 1;long long a[1024];a[0]=1;a[1]=1;    int p = 2;int q;while(p<=row){a[p] = 1;for(  q=p-1;q>0;q-- ) a[q] = a[q] + a[q-1]; //填空p++;}return a[col];
}int main()
{printf("%d\n", f(6,2));printf("%d\n", f(6,3));printf("%lld\n", f(40,20));    return 0;
}

把手举过头顶,突然张开五指,那么,恭喜你给自己放了个烟花!

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

  1. 【解题报告+通法】_九宫幻方 蓝桥杯 2017年C组第八题(dfs解法)

    题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...

  2. 16行代码AC_蓝桥杯 2017年C组第三题 算式900(暴力解法+DFS解法)

    励志用更少的代码做更高效的表达 题目描述: 小明的作业本上有道思考题: 看下面的算式: (□□□□-□□□□)*□□=900 其中的小方块代表0~9的数字,这10个方块刚好包含了0~9中的所有数字. ...

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

    题目描述 下面的图形是著名的杨辉三角形: 如果我们按从上到下.从左到右的顺序把所有数排成一列,可以得到如下数列: 1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,⋯ 给定一个正整数 N,请 ...

  4. 【蓝桥杯练习】B组结果填空题13-18------更新中

    [2013年B组] 2.标题: 马虎的算式     小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了. 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ...

  5. 复数幂用java程序怎么求_蓝桥杯——复数幂 (2018JavaAB组第3题)

    18年Java蓝桥杯A组第3题和B组是一样的. 第三题往往比较难. 复数幂 (18JavaAB3) (A.B两卷第三题一样) 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. ...

  6. 2020年第11届蓝桥杯省赛Python组(真题+解析+代码):数字三角形

    大家好,我是爱分享的小蓝,欢迎交流指正~  1 真题 输入 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出 27 2 解析 难度系数:⭐⭐ 考察题型:动态规划 涉及知识点:模块 ...

  7. 2018年第九届蓝桥杯国赛B组C++真题汇总

    1. 换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换 ...

  8. 蓝桥杯——快速排序(2018JavaB组第5题9分)

    快速排序(18JavaB5,9') 以下代码可以从数组a[]中找出第k小的元素. 它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的. 请仔细阅读分析源码,填写划线部分缺失的内容. impo ...

  9. 2017年第八届蓝桥杯国赛B组C++真题汇总

    1. 36进制 对于16进制,我们使用字母A-F来表示10及以上的数字. 如法炮制,一直用到字母Z,就可以表示36进制. 36进制中,A表示10,Z表示35,AA表示370 你能算出 MANY 表示的 ...

最新文章

  1. BZOJ 1091([SCOI2003]分割多边形-分割直线)
  2. [Java] Hashmap分析
  3. RTSP协议基本分析
  4. RancherOS v1.5.0发布
  5. Linux移植随笔:让内核支持nor flash
  6. Python3安装turtle提示错误:Command python setup.py egg_info failed with error code 1
  7. 基于OpenCV的计算机视觉入门(3)图像特效
  8. 160505、oracle 修改字符集 修改为ZHS16GBK
  9. 李沐老师的PyTorch 版《动手学深度学习》PDF 开源了(全中文,支持 Jupyter 运行)
  10. python 百度ai json解析_百度AI识别调用的简单例子
  11. 【视频】Copula算法原理和R语言股市收益率相依性可视化分析
  12. 记录一下自己简单的想法
  13. vue后台管理框架(iview + vue)
  14. PLC与RobotStudio联合仿真调试——项目一
  15. 集尘室行业调研报告 - 市场现状分析与发展前景预测(2021 - 2027)
  16. android 6.0小游戏,宝宝汽车小游戏
  17. 基于Matlab模拟哈特曼波前探测器
  18. 解决不支持S/W HEVC(H265)解码/找不到FFmpeg64.dll
  19. 智慧工地系统_成都智慧工地平台
  20. 网络安全 Kali虚拟机的安装和简单使用

热门文章

  1. 第09讲:爬虫解析利器 PyQuery 的使用
  2. Golang 正在成为互联网大厂的主流编程语言!
  3. KCL:声明式的云原生配置策略语言
  4. 【原创】“三次握手,四次挥手”你真的懂吗?
  5. 海外弱网下的在线视频平台优化实践​
  6. 视频会议场景下的弱网优化
  7. 音视频技术开发周刊 56期
  8. 技术创作101训练营:从0到1教你搭建自己的技术品牌
  9. nginx日志配置指令详解
  10. TensorLayer MNIST