请各位帮助一下,为什么一直是wa

一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物
输入只有一组测试数据,每组测试数据占 1 行,包括一个正整数 a (a < 32768)。
输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出 2 个 0。注意,2个0之间也有空格。
输入样列
20

输出样例
5 10

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    int num,a[10000],b[10000],c[10000],temp,m;
    temp=1;
    scanf("%d",&num);
    for(int i =0;i<=10000;i++)
    {
        for(int n = 0;n<=10000;n++)
        {
            if((i*2+n*4)==num)
                {
                    a[temp]=i,b[temp]=n;
                    temp=temp+1;
                }
        }
    }
    for (int i =1;i<temp;i++)
        c[i]=a[i]+b[i];
    for (int i=1;i<temp;i++)
        for(int n =2;n<temp;n++)
        {
            if(c[n]<c[n-1])
            {
                m=c[n-1];
                c[n-1]=c[n];
                c[n]=m;
            }
        }
    if (temp>1)
    printf("%d %d\n",c[1],c[temp-1]);
    else
    cout<<"0 0"<<endl;
    return 0;
}

for (int i=1;i<temp;i++)
for(int n =2;n<temp;n++)
改为:
for (int i=1;i<temp;i++)
for(int n =1;n<temp-i-1;n++)

应该不需要循环,最多的情况全是两脚动物,返回n/2,最少的情况下有尽可能多的四脚动物,为n/4只,两脚动物有n%4/2只
有帮助望采纳

下面的几个循环i从0开始

不用这么复杂,只求最多和最少,考虑两端极限就可以了