作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。

求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。

输入n(n <= 1000000000)

本题有多组输入数据,输入到文件末尾,请使用while(cin>>)等方式读入

输入描述:

输入一个int整数

输出描述:

输出返回的int值

示例:

输入:

4
2

输出:

3
-1

解题思路:

本题两种解题思路。

  1. 第一种就是常规求解,见代码一。输入k行,按照杨辉三角的规律创建k行的三角数阵,然后在第k行寻找首次出现偶数的下标即可。
  2. 第二种就是找规律求解,见代码二。分析后可知,前两行为-1,从第三行开始有2324的循环,所以当行数为奇数,结果就为2;当行数被4整除,结果为3;其他就为4。

测试代码:

代码一:

#include <iostream>
#include <string>using namespace std;int main()
{int num;while(cin>>num){int row=num;int col=2*num-1;int L[row][col];for(int j=0;j<col;++j){L[0][j]=0;}L[0][row-1]=1;for(int i=1;i<row;++i){for(int j=1;j<col-1;++j){L[i][j]=L[i-1][j-1]+L[i-1][j]+L[i-1][j+1];}L[i][0]=L[i-1][0]+L[i-1][1];L[i][col-1]=L[i-1][col-1]+L[i-1][col-2];}int id=0;bool getresult=false;for(int j=0;j<col;++j){if(L[row-1][j]%2==0){cout<<j+1<<endl;getresult=true;break;}}if(!getresult)cout<<"-1"<<endl;}return 0;
}

代码二:

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

华为机试HJ53:杨辉三角的变形相关推荐

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

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

  2. 找规律-牛客-HJ53 杨辉三角的变形

    题目链接 描述 以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数.左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0). 求第n行第一个偶数出现的位置.如果没 ...

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

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

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

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

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

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

  6. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

  7. 华为机试--简单题(一)

    HJ14 字符串排序 知识点:字符串:排序 描述 给定 n 个字符串,请对 n 个字符串按照字典序排列. 数据范围: 1≤n≤1000 ,字符串长度满足1≤len≤100 输入描述: 输入第一行为一个 ...

  8. 【HUAWEI】华为机试试题-105

    LeeCode试题链接直接上 HJ1 字符串最后一个单词的长度 HJ2 计算某字符出现次数 HJ3 明明的随机数:随机数去重排序输出(小-大) HJ4 字符串分隔:输入一个字符串,请按长度为8拆分每个 ...

  9. 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...

最新文章

  1. 刚刚,百度宣布王海峰升任CTO
  2. 如何在Window下安装node\npm\cnpm,并安装vue.js,创建项目
  3. webGL简单例子(klayge)
  4. .NET Core 如何为项目提供高性能解决方案?
  5. 【C语言笔记进阶篇】第一章:指针进阶
  6. HDU - 1495 - 非常可乐
  7. 大小端判断及相互转化
  8. AddHandler php5-script .php\AddType text/html .php和AddType application/x-httpd-php .php的区别?...
  9. Vue学习笔记进阶篇——多元素及多组件过渡
  10. Linux文件浏览命令
  11. c语言16qam,基于FPGA的高阶QAM调制器的实现
  12. 探索 Word 2007 开发(二):扩展 Ribbon
  13. 图片秒加水印制作生成威信小程序源码下载
  14. Seaweedfs上传大文件_large file
  15. C++面向对象(1):防卫式声明
  16. U盘常见病毒或木马解决篇
  17. 什么是MyBatis
  18. Problem : [usaco2007 Feb]Lilypad Pond
  19. 通过SSH远程控制服务器
  20. c语言报名入口,考试报名入口

热门文章

  1. 写了一个UUE编码的类.
  2. BroadcastReceiver
  3. shell脚本实现对网卡流量监控
  4. 解决谷歌浏览器扩展程序中安装vue-devtools插件遇到的问题
  5. OpenShift - 5分钟自动替换 OpenShift 集群故障节点(附视频)
  6. EndNote:中英文参考文献混排问题
  7. TextView解决中英文混排自动换行
  8. Auto CAD 2013的故障解决方法
  9. 风靡欧洲杯的足球手环?
  10. zigbee 源码 01-温湿度DHT11