刚开始的时候看没太看明白题意,然后看了下数据的大小,直接算的话貌似会超,就开始找规律,貌似根据这种规律还是可以找到的,仔细去分析多写几个步骤好像就能找到了。因为前面的部分一直都没有变
include<stdio.h>
using namespace std;
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        if(n==1||n==2){
            printf("-1\n");
        }else if(n%2!=0){
            printf("2\n");
        }else if(n%4==0){
            printf("3\n");
        }else{
            printf("4\n");
        }
    }
    return 0;
}

京公网安备 11010502036488号