驴商人和胡萝卜的算法逻辑思维问题
题目如题:
一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?
在此用程序的解决,其实不用程序的也很简单:
程序说明:
无论去返都消耗,以消耗最大来看!当运输3000时要往、返共计5倍路程,所以最初1000根消耗完应该在200公里处(最后一次往返也是有用的,如果吃的必须是1000以内的萝卜);由此变为运输2000,往、返共计3倍路程,第二个1000根消耗在533公里处(严格此时此处有1001根来说是消耗了999根,最后一根这里不要了;这要看吃萝卜的限定了,结果可能差一根);最后1000根萝卜从533公里处出发,因而最后剩533根萝卜,呵呵用程序求解其实多少有点浪费。
#include <iostream.h>
#include <math.h>int main()
{int i = 0; //循环变量int s = 1000; //总里程int n = 3000; //总萝卜数for(i = 0; i < s; i++){//计算要分几次搬运,是下取整。int x = (int)ceil((double)n/1000);//如果回去搬萝卜的代价比搬过来的萝卜数量大,说明没价值,不要返回去搬,扔了。if(n % 1000 != 0 && n % 1000 <= x){x -= 1;}//如果要回去多次搬运,则往返路程要计算好。两次搬运要走三次路。if(x == 2){x += 1;}//如果要回去多次搬运,则往返路程要计算好。三次搬运要走五次路。一次搬运当然就一次路就OK了。else if(x == 3){x += 2;}//让驴吃掉的萝卜。n -= x;}cout << "商人最多可卖出的胡萝卜数量为:" << n << endl;return 0;
}
得出结果:
商人最多可卖出的胡萝卜数量为:534
Press any key to continue
驴商人和胡萝卜的算法逻辑思维问题相关推荐
- 脑力风暴之小毛驴历险记(1)----好多胡萝卜(上)
听说有好多胡萝卜 --------------- 从前有一头叫做哈斯卡的小毛驴,它勤劳而善良,快乐又聪明.有一天小毛驴听说一千公里外的兔子国胡萝卜绝收了.心地善良的哈斯卡决定将自己今年收获的胡萝 ...
- 计算机思维典型方法有抽象,传说中的四大编程思维 一篇彻底搞清楚
对于很多家长朋友来说,编程还是一个比较模糊的概念. 比如觉得编程就是敲代码.程序员的工作.一门兴趣课......如果要问,什么是编程思维,这大概更让大家觉得脑瓜疼. 小童希望这篇文章能帮大家对编程有更 ...
- 小学计算机课程课堂导入视频教程,第四届全国小学信息技术优质课观摩心得
2014年10月25日--10月29日,"青岛出版杯"第四届全国小学信息技术优质课展评活动在美丽的海滨城市青岛拉开帷幕.作为一名新教师,我非常荣幸的观摩了这场小学信息技术的国家级盛 ...
- 编程已经以迅雷不及掩耳之势,扎根在孩子的学业中
1.Scratch等图形化编程语言的出现,让孩子学习编程的门槛大大降低:2.编程逐步被纳入中小学的必修课,国家正在大力推广编程教育,鼓励孩子学习编程:3.孩子学编程不是为了让他当程序员,重点是培养孩子 ...
- 解析数字时代的少儿steam教育
在大家都很高度重视德育教育的今日,大家都看到了因人施教.趣味性的必要性.尤其是针对儿童而言,填鸭式教育早就落伍,也有很有可能抹杀孩子的想像力,格物斯坦表示:仅有持续添加趣味性化课程内容,才可以提高孩子 ...
- 回溯算法---过河问题(商人过河)
过河问题: 有三个商人和三个仆人过河,只有一条能装下两个人的船,在河的任何一岸上,如果仆人的人数大于商人的人数,那么该岸上的商人就会有危险.你能不能找出一种安全的渡河方法呢? 过河问题是一个比较出名的 ...
- 基于 LBP + SVM 胡萝卜开裂检测算法
胡萝卜开裂检测算法 l LBP+SVM 算法: 1. 算法描述: LBP+SVM对胡萝卜开裂检测算法的主要思想是,首先,利用LBP对开裂胡萝卜与非开裂胡萝卜进行特征提取,将提取的特征利用 ...
- python实现胡萝卜路径追踪算法
胡萝卜路径追踪算法: 当针对关键任务启动无人系统时,需要遵循预定路径.这意味着无人系统需要遵循路径的算法来完成任务.该算法使用比例控制器形式的简单控制器来控制无人系统的移动.这篇文章基于python实 ...
- 360大牛解读PHP面试-算法、逻辑思维考察点
整理自慕课网360大牛全面解读PHP面试 ,购买链接:https://coding.imooc.com/class/133.html 推荐 牛客网 剑指Offer 刷题连接 https://www.n ...
最新文章
- ClassCastException
- python 日志输出模块--两种方法
- iredmail安装roundcube webmail插件
- Flutter1.12与原生Android交互(kotlin)
- Amr and Pins
- 干货 | 用Python做图像处理:图像导数实战
- 利用for...in...遍历js数组与Python异同
- c#中hook的初次尝试
- php的布局设计,php学习之div+css布局设计排版(六)
- apache ab测试与centos系统优化
- C#打印代码运行时间
- javascript 动态选中option
- 佳能G1800 G2800 G3800提示5B00打印机清零软件用软件ST5302
- vue 创建项目使用npm还是yarn
- 服务器常见基本故障+排查方法,很实用!
- Fishermen(2018 ICPC SouthEastern European)
- linux服务器怎么查看cpu配置信息,linux服务器cpu信息查看详解
- PostgreSQL之外键约束
- centos安装MySQL怎么换端口_centos安装mysql后3306端口不通
- 本想搞清楚ESM和CJS模块的互相转换问题,没想到写完我的问题更多了