一个简单的题让我了解算法并且喜欢上了她
2017-03-27 21:36
295 查看
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。
输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
输入例子:
20
输出例子:
3
这段代码相比已经是很简单,但有没有更简答的呢,毫无疑问是有的,下面是更加优化后的代码
这段代码写完之后,有没有感觉到算法的神奇之处的。反正,我是喜欢上了她了!
输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
输入例子:
20
输出例子:
3
#include<bits/stdc++.h> using namespace std; int main() { int num = 0; int n = -1; cin >> num; while( num > 8 * n ) { n++; } cout << n <<endl }
这段代码相比已经是很简单,但有没有更简答的呢,毫无疑问是有的,下面是更加优化后的代码
#include<bits/stdc++.h> using namespace std; int main() { int num = 0; cin >> num; if((8 - num % 8) % 2 ) cout << -1 << endl; else cout << ceil(num/8.0) <<endl; }
这段代码写完之后,有没有感觉到算法的神奇之处的。反正,我是喜欢上了她了!
相关文章推荐
- 一个简单批处理病毒让你了解计算机病毒的基本原理!
- 一个简单的Hash表算法 zz
- 一个简单的c#加密,签名,验签,解密算法.(2)
- 一个简单的随机数生成算法实现(C++)
- 编译和安装linux内核2.6.24,并且写一个简单的内核驱动测试之
- 今天一个简单似的算法
- 用jsp实现一个简单的购物车web应用系统。实现的添加购物商品,删除购物商品并且显示购物车信息。
- 一个将阿拉伯数字转换成中文大写的最简单算法
- 一个简单的子集产生算法
- [原创]一个查找并且替换的算法
- 利用WebClient发送一个简单的HTTP GET请求并且取回响应
- 一个没有了解透的简单函数: BoolToStr
- 一个简单的子集产生算法
- 一个基于Java的简单分组处理算法
- 一个简单的算法题目,搞了半天,希望大家能给点意见
- 一个简单实用的遗传算法c程序(转载)
- 一个简单的算法题
- 一个非常简单的求随机数的算法
- 一个计算简单数学表达式值的算法。
- 转:把一个java web应用包装成桌面应用的简单做法(个人比较喜欢,想有空研究一下,特意转载,以备后用)