华为机试之杨辉三角变型"/>
华为机试之杨辉三角变型
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(n <= 1000000000)
本题有多组输入数据,输入到文件末尾,请使用while(cin>>)等方式读入
#include<iostream>
using namespace std;
int cal(int n)
{if(n==1||n==2){return -1;}else if(n%2==1)return 2;else if(n%4==0)return 3;else return 4;
}
int main()
{int n;while(cin>>n){cout<<cal(n)<<endl;}return 0;
}
方法2 :原理方法:
更多推荐
华为机试之杨辉三角变型
发布评论