1.1算法入门之百钱白鸡问题
2016-03-29 16:58
495 查看
一 . 问题描述
一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在百钱买百鸡,请问,公鸡,母鸡,小鸡各多少只?
二. 问题分析
三个变量 cock ,hen,chicken
1> cock+hen+chicken=100;
2> cock*5+hen*3+chicken/3=100;
[b]三. 算法设计
[/b]
采用穷举法 cock<=20,hen<33,chicken<=100
#include <stdio.h>
//方式一:穷举法
//效率地
,要循环21X34X101=72114次;
#if 0
int main(int argc,
const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
int cock,hen,chicken;
for (cock=0; cock<=20;cock++)
{
static int i=0;
for (hen=0; hen<=33; hen++)
{
for (chicken=0; chicken<=100; chicken++)
{
if ((5*cock+hen*3+chicken/3==100)&&(cock+hen+chicken==100))
{
printf("cock=%2d,hen=%2d,chicken=%2d",cock,hen,chicken);
}
i++;
printf("i=%d",i);
}
}
}
return 0;
}
#endif
//方式二:
int main(int argc,
const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
int cock,hen,chicken;
for (cock=0; cock<=20;cock++)
{
static int i=0;
for (hen=0; hen<=33; hen++)
{
//在外层循环的条件下,在chichen的数量加以限制
//循环执行的次数为21X34=714;效率提高了不少
chicken=100-hen-cock;
if (5*cock+hen*3+chicken/3==100)
{
//printf("cock=%2d,hen=%2d,chicken=%2d",cock,hen,chicken);
}
i++;
printf("i=%d",i);
}
}
return 0;
}
一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在百钱买百鸡,请问,公鸡,母鸡,小鸡各多少只?
二. 问题分析
三个变量 cock ,hen,chicken
1> cock+hen+chicken=100;
2> cock*5+hen*3+chicken/3=100;
[b]三. 算法设计
[/b]
采用穷举法 cock<=20,hen<33,chicken<=100
#include <stdio.h>
//方式一:穷举法
//效率地
,要循环21X34X101=72114次;
#if 0
int main(int argc,
const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
int cock,hen,chicken;
for (cock=0; cock<=20;cock++)
{
static int i=0;
for (hen=0; hen<=33; hen++)
{
for (chicken=0; chicken<=100; chicken++)
{
if ((5*cock+hen*3+chicken/3==100)&&(cock+hen+chicken==100))
{
printf("cock=%2d,hen=%2d,chicken=%2d",cock,hen,chicken);
}
i++;
printf("i=%d",i);
}
}
}
return 0;
}
#endif
//方式二:
int main(int argc,
const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
int cock,hen,chicken;
for (cock=0; cock<=20;cock++)
{
static int i=0;
for (hen=0; hen<=33; hen++)
{
//在外层循环的条件下,在chichen的数量加以限制
//循环执行的次数为21X34=714;效率提高了不少
chicken=100-hen-cock;
if (5*cock+hen*3+chicken/3==100)
{
//printf("cock=%2d,hen=%2d,chicken=%2d",cock,hen,chicken);
}
i++;
printf("i=%d",i);
}
}
return 0;
}
相关文章推荐
- Opendir readdir
- easyui-layout 布局自适应
- AC自动机基础知识讲解
- 在线图片压缩后以ImageIO 流的形式 设置大小显示指定页面
- Web 测试笔记
- 注册页面
- 注册页面
- 第四次作业2
- zabbix 监控磁盘IO状态
- JAVA内存模型(Java Memory Model)
- 连续子数组的最大和
- Mac OS X 下安装使用 Docker(旧方法,但有助于理解一些理论)
- Integer与int的区别
- 表单
- AppScan漏洞“已解密的登陆请求”修复解决方案
- Ember.js学习项目源码发布
- 表单
- 基于AFNetWorking 3.0封装网络请求数据的类
- javascript声明提升现象及严格模式
- APS system.webServer error 配置