题解 | #杨辉三角的变形#
杨辉三角的变形
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;
}算法解析 文章被收录于专栏
这里主要是算法岗的自我思路总结
查看22道真题和解析
九号公司成长空间 1人发布
