原数给的范围太大了,直接找规律:除了1、2行,奇数行必定是每行第2个数为偶数,当行数为4的倍数时每行的第3个数为偶数,只为2的倍数时每行的第4个数为偶数。
#include <iostream>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        if(n==1 || n==2){
            cout << "-1";
        }
        else if(n%2==1){
            cout << "2";
        }
        else if(n%4==0){
            cout << "3";
        }
        else cout << "4";
    }
}