穷举算法(鸡兔同笼与百钱白鸡)
2015-05-20 20:59
141 查看
NYOJ64
#include<stdio.h>
int main()
{
int a,g,t,i;
scanf("%d",&a);
while(a--)
{
scanf("%d%d",&g,&t);
for(i=0;i<=g;i++)
if(t==(4*g-2*i))
{
printf("%d %d\n",i,g-i);
break;
}
if(i>g)
printf("No answer\n");
}
return 0;
}
课本P76百钱百鸡
#include<stdio.h>
int main()
{
int i,j ,k;
int m=100/5,n=100/3;
for(i=0;i<=m;i++)
{
for(j=0;j<=n;j++)
{
k=100-i-j;
if(i*5+j*3+k/3==100&&k%3=0)
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
}
}
鸡兔同笼本质解x+y=n 2x+4y=m
而百钱百鸡x+y+z=100 5*x+3*y+k/3=100
开始在做南阳64时 以为是同样的 打到一半才开始意识到不是同一种类型
#include<stdio.h>
int main()
{
int a,g,t,i;
scanf("%d",&a);
while(a--)
{
scanf("%d%d",&g,&t);
for(i=0;i<=g;i++)
if(t==(4*g-2*i))
{
printf("%d %d\n",i,g-i);
break;
}
if(i>g)
printf("No answer\n");
}
return 0;
}
课本P76百钱百鸡
#include<stdio.h>
int main()
{
int i,j ,k;
int m=100/5,n=100/3;
for(i=0;i<=m;i++)
{
for(j=0;j<=n;j++)
{
k=100-i-j;
if(i*5+j*3+k/3==100&&k%3=0)
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
}
}
鸡兔同笼本质解x+y=n 2x+4y=m
而百钱百鸡x+y+z=100 5*x+3*y+k/3=100
开始在做南阳64时 以为是同样的 打到一半才开始意识到不是同一种类型