归纳法,不需要递归,效率最高
#include <stdio.h>
int main(int argc, char *argv[])
{
int n;
while (scanf("%d", &n) != EOF) {
if (1 == n || 2 == n) {
printf("-1\n");
} else if (1 == n % 2) {
printf("2\n");
} else if (0 == n % 4) {
printf("3\n");
} else {
printf("4\n");
}
}
return 0;
}


京公网安备 11010502036488号