问我们将n分成尽可能多的合数的加和,问最多可以分成多少个合数。
思路:
尽可能分4,那么对于n来讲,其有四种情况:
%4==0
%4==1
%4==2
%4==3
那么对其分类讨论即可。
Ac代码:
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int n;
int t;scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(n%4==0)printf("%d\n",n/4);
else if(n%4==1)
{
if(n<9)printf("-1\n");
else printf("%d\n",(n-9)/4+1);
}
else if(n%4==2)
{
if(n<6)printf("-1\n");
else printf("%d\n",(n-6)/4+1);
}
else
{
if(n<=11)printf("-1\n");
else printf("%d\n",(n-9)/4+1);
}
}
}