题目链接:
https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43?tpId=37&&tqId=21276&rp=1&ru
题目解析:
拿到这道题大多数人的第一反应都是先将杨辉三角用一个二维数组表示出来,然后直接在第n行找就可以了,这样的方法是最直接的,但不是最高效的,虽然我一开始也是这样做的,但是我将杨辉三角打印出来发现他事有规律可找的:
第1、2行没有偶数
第3行开始奇数行第一个偶数是第2个数,偶数行则是第3个数
特别注意的是,有三个特殊情况,就是在66、94、118这三行中是第4个数
这样一分析,代码也就出来了。
图解分析:

代码解析:

#include <iostream>using namespace std;int main()
{int n;while(cin >> n){if(n == 1 || n == 2)cout << -1 << endl;else if(n%2 == 1)cout << 2 << endl;else if(n == 66 || n == 118 || n == 94)cout << 4 << endl;else if(n%2 == 0)cout << 3 << endl;       }return 0;
}

杨辉三角变形(高效解析)相关推荐

  1. 数组经典题之杨辉三角变形

    题目 杨辉三角变形 解决 可以把题目给的图变形成一个容易理解的三角形 可以看出每一个数都是上面的三个数的和. 我们可以将原图补全为一个完整的矩形,每一行的元素个数的都是2×行标-1. 因此我们可以搞出 ...

  2. 用linux编译打印杨辉三角形,C语言打印杨辉三角代码及解析

    杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一. ...

  3. Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。

    Python中使用for while循环打印杨辉三角练习(列表索引练习). 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 ...

  4. 庞果网之杨辉三角的变形

    题目详情 1 1   1  1 1  2   3  2  1 1  3  6   7  6  3  1 以上三角形的数阵,第一行只有一个数1, 以下每行的每个数,是恰好是它上面的数,左上的数和右上数等 ...

  5. 华为oj----iNOC产品部-杨辉三角的变形 .

    此题提供三种方法,第一种,一开始就能想到的,设置一个足够大的数组存储生成的杨辉三角,然后进行判断就行,此方法参见:华为oj iNOC产品部-杨辉三角的变形 另一种方法是采用递归: 三角形的每行的个数为 ...

  6. 【C语言练习——打印杨辉三角及其变形】

    CSDN话题挑战赛第1期 活动详情地址:活动地址 参赛话题:大学学习月/季度总结 话题描述:对自己大学的月/季度学习的复盘及展望 杨辉三角及其变形 前言 1.杨辉三角之左对齐 1.1 写法1 1.2 ...

  7. 打印杨辉三角的9种方法与解析

    打印杨辉三角 杨辉三角科普: 杨辉三角,是二项式系数在三角形中的一种几何排列.每个数等于它上方两数之和.如图: C语言打印杨辉三角的方法 解法一 #include <stdio.h> in ...

  8. HJ53 杨辉三角的变形(c++)

    题目链接:​​​​​​杨辉三角的变形_牛客题霸_牛客网 注意点如图: 1.第一,二行没有偶数 2.偶数行的偶数位置出现在不是第三就是第四位,关键看是否能被4整除 #include <iostre ...

  9. 杨辉三角解析----Python廖雪峰

    杨辉三角解析----Python廖雪峰 图中有个很明显的特征就是两边的数字都是 1 : 在根据图中的数字之间的连接线可以看出它的第二个特征,就是每个数字都等于它上方两个数字之和: 第三个特征,每行数字 ...

最新文章

  1. 精华 | 超详细AI芯片产业链梳理
  2. FAST选址与三维仿真模拟研究
  3. 这款插件让你在VSCode上也能答题背单词
  4. 常见字符编码 java
  5. JavaScript闭包详解
  6. springmvc ajaxjson处理
  7. (4)回归决策树_预测波士顿房价
  8. win7怎么安装消息队列 MSMQ
  9. 最新白白iApp手册开源-iApp源码 非常牛逼
  10. 非合作关系设定下的多智能体强化学习
  11. Windows开启卓越性能模式,一键睿频
  12. 怎样启动本地mysql服务_启动本地mysql服务
  13. TC8:UDP_FIELDS_01-16
  14. 北京内推 | 微软亚洲研究院自然语言计算组招聘NLP研究实习生
  15. C++编译原理,O1 O2 O3编译优化
  16. VTK中oberver 和 command 的信息机制详解
  17. tf-faster-rcnn代码学习.目标检测(Tensorflow版Faster R-CNN)
  18. WebView深究之Android是如何实现webview初始化的
  19. 我劝你最好别偷看我的HTTP总结
  20. 【代码审计-2】PHP框架MVC类文件上传断点测试挖掘

热门文章

  1. 还在随缘炼丹?一文带你详尽了解机器学习模型可解释性的奥秘
  2. distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse(‘setupto
  3. 数据库:MySQL和MariaDB的JDBC连接
  4. 玩转python(2)多线程的历史2
  5. 了解Web及网络基础——《图解http》第一章
  6. 求一个数字中1的个数
  7. ubuntu 上已经安装libxml2还提示需要reinstall的解决方法
  8. java实现可有括号的android计算器
  9. Trade Stages - The Trade Path
  10. 计算机网络(十一)-数据链路层-流量控制