题解 | #杨辉三角的变形#

杨辉三角的变形

http://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43

  • 当n<3时,没有偶数,输出-1;
  • 当n为奇数时,第一个偶数位置在第二,输出2;
  • 当n为偶数且能被4整除时,第一个偶数位置在第三,输出3;
  • 当n为偶数但不能被4整除时,偶数位置在第四,输出4
#include<bits/stdc++.h>

using namespace std;

//杨辉三角规律                                    行号    第一个偶数在该行第几个
//                    1                           1             -1
//                1   1   1                       2             -1
//            1   2   3   2   1                   3              2
//         1  3   6   7   6   3   1               4              3
//      1  4  10  16  19  16  10  4  1            5              2
//   1  5  15 30  45  51  45  30  15 5  1         6              4
//
//  首个偶数在该行第几个的规律: -1 -1 (2 3 2 4)···(2 3 2 4)

//当n<3时,没有偶数,输出-1;
//当n为奇数时,第一个偶数位置在第二,输出2;
//当n为偶数且能被4整除时,第一个偶数位置在第三,输出3;
//当n为偶数但不能被4整除时,偶数位置在第四,输出4

int main(){
    int n;
    while(cin>>n){
        if(!n||n==1||n==2) cout<<"-1"<<endl;
        else if(n&1) cout<<"2"<<endl;
        else if(n%4) cout<<"4"<<endl;
        else cout<<"3"<<endl;
    }
    return 0;
}
算法解析 文章被收录于专栏

这里主要是算法岗的自我思路总结

全部评论

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务