解惑:看看小弟错在哪里

JoXu 2011-11-02 04:02:39
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
Input

正整数n。

Output

输出有多少种方案能买到n只鸡。

#include <iostream.h>
int main ()
{
int a,b,c,n,i,k,sum=0;
cin >>n;
a=n/5;
b=n/3;
k=n-(n%3);
for (i=1;i<=a;i++)
{
for (k=1;k<=b;k++)
{ for (c=3;c<=k;c=c+3)



if (i*5+k*3+c/3==i+k+c)
{
sum++;
}

}
}
cout <<sum<<endl;
return 0;
}
...全文
167 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦境传说 2011-11-30
  • 打赏
  • 举报
回复
// 1118ABCchicken.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

int x=0,y=0,z=0;
cout<<"公鸡为x: 母鸡为y: 小鸡为z:"<<endl;
for(x=0;x<=20;x++)
{
for(y=0;y<=33;y++)
{
for(z=0;z<=100;z=z+3)
{
if((x+y+z==100) && (5*x+3*y+z/3==100))
cout<<"x="<<x<<"\t\t"<<"y="<<y<<"\t\t"<<"z="<<z<<endl;
}
}
}

fflush(stdin);
getchar();
return 0;
}
小白晒太阳 2011-11-30
  • 打赏
  • 举报
回复
#include "stdio.h"
void main()
{
int cocks, hens, chicks;
printf ("cocks hens chicks\n");
printf ("-------------------\n");

cocks=0;
while (cocks <= 19)
{
hens=0;
while (hens <= 33)
{
chicks = 100 - cocks - hens;
if ( cocks * 5 + hens * 3 + chicks / 3 == 100 && chicks % 3 == 0)
printf ("%5d %5d %5d\n", cocks, hens, chicks);
hens++;
}
cocks++;
}
printf ("-------------------\n");
}




这代码是别人写的,你应该能看懂吧。用穷举法,不过设计算法前考虑每种鸡最多能买多少只,减小穷举范围。
七擒关羽 2011-11-02
  • 打赏
  • 举报
回复
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
Input

正整数n。

Output

输出有多少种方案能买到n只鸡
---------------------------------回答分割线------------------------------------
假设n=3
那么就是 鸡翁 母鸡 鸡雏 的组合 鸡翁 0 1 2 3 母鸡 0 1 2 3 鸡雏 3 共9种

由于鸡雏必须是3的倍数,假设m
m = n/3

那么种类 = (n+1)*2+(n/3)+(n%3+1)*2
bdmh 2011-11-02
  • 打赏
  • 举报
回复
这应该都是做烂得题了吧,搜搜吧

33,319

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧