题解 | #杨辉三角的变形#
杨辉三角的变形
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; }
算法解析 文章被收录于专栏
这里主要是算法岗的自我思路总结