华为机试-杨辉三角的变形(简单)
杨辉三角的变形
http://www.nowcoder.com/questionTerminal/8ef655edf42d4e08b44be4d777edbf43
题目描述
1
1 1 1
1 2 3 2 1
1 3 6 7 6 3 1
1 4 10 16 19 16 10 4 1
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。
请在这里输入引用内容
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。
当n<3时,没有偶数,输出-1;
当n为奇数时,第一个偶数位置在第二,输出2;
当n为偶数且能被4整除时,第一个偶数位置在第三,输出3;
当n为偶数但不能被4整除时,偶数位置在第四,输出4
#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; }