36只羊,9个围栏,每个围栏关的羊数只能是单数,可不关,问把36只羊都关起来,有多少种关法.(围栏没编号)

来源:百度知道 编辑:UC知道 时间:2024/09/20 04:17:37
用C语言解出来

#include <stdio.h>
void main()
{int i,j,k;
int a1[2],a2[4],a3[6],a4[8];//对于每个围栏的有无,分四种情况.数组长度表示有羊的围栏数目.
printf("2个围栏中有羊,关法如下:\n");
for(i=1;i<18;i+=2)
{
a1[0]=i;
a1[1]=36-i;
printf("%d,%d\n",a1[0],a1[1]);
}
printf("4个围栏中有羊,关法如下:\n");
for(i=1;i<=9;i+=2)
{
for(j=i;j<=9;j+=2)
{
for(k=j;k<18;k+=2)
{
if(36-i-j-k>=k)
{
a2[0]=i;
a2[1]=j;
a2[2]=k;
a2[3]=36-i-j-k;
p