以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。
数据范围:
1
≤
�
≤
1
0
9
1≤n≤10
9
输入描述:
输入一个int整数
输出描述:
输出返回的int值
示例1
输入:
4
复制
输出:
3
n1或2时,没有偶数,cout<<-1;
n3时,index=2;
n4,index=3;
n5,index=2;
n6,index=4;
n7,index=2;
n8,index=3;
n9,index=2;
n==10,index=4;
也即为,index=2,3,2,4重复出现,将n对4取余,则:
n%43||n%41,index2;
n%40,index=3;
n%4==2,index=4;
#include
using namespace std;
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
if(n == 1 || n == 2){
cout << -1 << endl;
}
else if(n % 4 == 3 || n % 4 == 1){
cout << 2 << endl;
}
else if(n % 4 == 0){
cout << 3 << endl;
}
else{
cout << 4 << endl;
}
}
}