做兼职最好的网站有哪些,怎么查看网站死链,做问卷调查的是哪个网站好,2023能用的磁力搜索引擎哈喽大家好#xff0c;今天来给大家带来每日一道算法题系列第三天#xff0c;让我们来看看今天的题目#xff0c;一起备战蓝桥杯
题目#xff1a;
小 Y的桌子上放着 n 个苹果从左到右排成一列#xff0c;编号为从 11 到 n。
小苞是小 Y 的好朋友#xff0c;每天她都会…哈喽大家好今天来给大家带来每日一道算法题系列第三天让我们来看看今天的题目一起备战蓝桥杯
题目
小 Y的桌子上放着 n 个苹果从左到右排成一列编号为从 11 到 n。
小苞是小 Y 的好朋友每天她都会从中拿走一些苹果。
每天在拿的时候小苞都是从左侧第 11 个苹果开始、每隔 22 个苹果拿走 11 个苹果。
随后小苞会将剩下的苹果按原先的顺序重新排成一列。
小苞想知道多少天能拿完所有的苹果而编号为 n 的苹果是在第几天被拿走的
输入格式
输入的第一行包含一个正整数 n表示苹果的总数。
输出格式
输出一行包含两个正整数两个整数之间由一个空格隔开分别表示小苞拿走所有苹果所需的天数以及拿走编号为 n 的苹果是在第几天。
数据范围
对于所有测试数据有1≤n≤10^9
解题思路 1 2 3 4 5 6 7 8 题里说每隔着两个苹果拿走一个所以这段数字的变化规律就是 2 3 5 6 8 3 5 8 5 8 5 8 首先观察这个题的数据范围10的九次方所以我们不能一一个一个的枚举每次拿的苹果但我们可以一天一天的枚举
怎么样的一天一天的枚举呢比如说我们现在有n个苹果每天可以进行隔一个拿一个的操作那么模拟下来我们每天大约拿三分之一的苹果也就是三分之nn/3每隔两个苹果拿一个苹果就是n2/3的上取整什么是上取整
上取整
关于上取整我们可以通过一个函数来了解
ceil函数 功能把一个小数向上取整 即就是如果数是2.2 那向上取整的结果就为3.000000 原型double ceil(doube x); 参数解释 x:是需要计算的数 返回值 成功返回一个double类型的数此数默认有6位小数 无失败的返回值 头文件#includecmath 使用示范
#include iostream
#include cmathint main() {double i ceil(2.2);double j ceil(-2.2);printf(The ceil of 2.2 is %f\n, i);printf(The ceil of 2.2 is %f\n, j);system(pause);return 0;
}运行截图 好的现在什么是上取整都明白了解题思路也十分清晰上代码实操吧
解题代码
#include iostream
#include cmath
using namespace std;int main() {int n;cin n;int cnt 0, data 0;while (n) {cnt;if (!data n % 3 1)data cnt;n - ceil((n 2) / 3);}cout data cnt;return 0;
}代码就是根据思路写的大家如果还有什么不明白的就在评论里指出吧
觉得有帮助的同学点点关注吧跟着作者一起备战蓝桥杯拿下该死的奖
明天见