首页 > 编程语言 >C++ 小苹果

C++ 小苹果

时间:2024-07-13 17:28:21浏览次数:18  
标签:小苹果 ans 样例 C++ 拿走 小苞 苹果 编号

题目描述

小 Y 的桌子上放着 n 个苹果从左到右排成一列,编号为从 1 到 n。

小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。

每天在拿的时候,小苞都是从左侧第 1 个苹果开始、每隔 2 个苹果拿走 1 个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。

小苞想知道,多少天能拿完所有的苹果,而编号为 n 的苹果是在第几天被拿走的?

输入格式

输入的第一行包含一个正整数 n,表示苹果的总数。

输出格式

输出一行包含两个正整数,两个整数之间由一个空格隔开,分别表示小苞拿走所有苹果所需的天数以及拿走编号为 n 的苹果是在第几天。

输入输出样例

输入 #1复制

8

输出 #1复制

5 5

说明/提示

【样例 1 解释】

小苞的桌上一共放了 8 个苹果。
小苞第一天拿走了编号为 1、4、7 的苹果。
小苞第二天拿走了编号为 2、6 的苹果。
小苞第三天拿走了编号为 3 的苹果。
小苞第四天拿走了编号为 5 的苹果。
小苞第五天拿走了编号为 8 的苹果。

【样例 22】

见选手目录下的 apple/apple2.in 与 apple/apple2.ans。

【数据范围】

对于所有测试数据有:1 ≤ n ≤ 1000000000。

测试点n≤特殊性质
1∼210
3∼51000
6∼71000000
8∼91000000
101000000000

特殊性质:小苞第一天就取走编号为 n 的苹果。

#include<bits/stdc++.h>
using namespace std;
int n,x;
int ans,cnt;
int main(){
	
	scanf("%d",&n);
	x=n;
	
	while(x){    //还剩了苹果就一直取
		cnt++;
		x-=(x+2)/3;    //这个相当于想上取整
	}
	printf("%d ",cnt);
    
	while(1){
		ans++;
		if(n%3==1)break;    //取走了
		n-=(n+2)/3;    //下一天剩多少苹果
	}
	printf("%d",ans);
	return 0;
}

附件下载

apple.zip418B

标签:小苹果,ans,样例,C++,拿走,小苞,苹果,编号
From: https://blog.csdn.net/lsj_218/article/details/140403114

相关文章

  • c++ 勾股数
    题目描述输入整数R,输出小于等于R的满足X²+Y²=Z²的所有正整数X,Y,Z输入格式输入一个实数:R(1<=R<=100)输出格式输出一个整数表示共有多少组满足条件的勾股数样例输入10样例输出2代码如下#include<bits/stdc++.h>//万能头文件usingnamespacestd;i......
  • Hash表(C++)
        本篇将会开始介绍有关于unordered_map和unordered_set的底层原理,其中底层实现其实就是我们的Hash表,本篇将会讲解两种Hash表,其中一种为开放定址法,另一种为hash桶,在unordered_map和unordered_set的底层实现中主要是使用的是hash桶。    本......
  • c++ 计算mp3时长
    #include<stdio.h>#include<iostream>#include<fstream>#include<string>usingnamespacestd;structID3V2{ chartag[3]; charversion; charsubVersion; charflag; charsize[4];};constintbitrateIndex[16][5]={ {......
  • 【C++编程】数组、函数、结构体、指针、类
    数组:存储一个固定大小的相同类型元素的顺序集合声明、初始化:typearrayName[size0][size1]...={{value00,value01,...},{value10,value11,...},...};intmy_array[2][3]={{1,2,3},{4,5,6}};访问数组元素:arrayName[index0][index1]...;intget_eleme......
  • 【洛谷】P5728 【深基5.例5】旗鼓相当的对手——C++
    本题感想:本题主要是应该避免重复比较,以a,b,c,d为例,我们假设先a不动,依次比较d,c,b或者b,c,d,然后假设b不动,依次比较c,d,最后假设c不动,比较d,这样这道题就差不多解决了#include<iostream>#include<cmath>usingnamespacestd;intmain(){inta[1010][3],s[1010]={0......
  • 全栈物联网项目:结合 C/C++、Python、Node.js 和 React 开发智能温控系统(附代码示例)
    1.项目概述本文详细介绍了一个基于STM32微控制器和AWSIoT云平台的智能温控器项目。该项目旨在实现远程温度监控和控制,具有以下主要特点:使用STM32F103微控制器作为主控芯片,负责数据采集、处理和控制逻辑采用DHT22数字温湿度传感器,精确采集环境温湿度数据通过ESP8266WiF......
  • C++数组 字符串
    是什么:相同类型元素的集合写法:intexample[3]//数组在声明大小时必须为常数数组名example是个指针类型如int*ptr=example;数组索引的工作原理:example[3]//从首地址位置偏移数组类型大小(int是4字节)乘索引值(4*3)个字节//从当前字节位置往后读四个字节;可能出现的错误:ex......
  • 解决Microsoft Visual C++ runtime package找不到问题
    使用了Dism++进行电脑清理,不小心选择了下面两个内容:尤其是第二个packagecache绝对不能清空,否则不知道哪个软件就不能运行了,报MicrosoftvisualC++runtime问题.然后再安装各个版本MicrosoftvisualC++redis仍会报同样的问题,死循环了.网上有各种解决方案,有......
  • C++中的可见性 指针 笔记
    含义:谁能看到他们谁能调用?谁能使用?可见性的修饰符:private含义:只有其所在的类可以访问,被修饰的变量但是friend关键字可以让类或者函数成为朋友(友元)可以在别处访问私有成员protected含义:所在的类和层次结构中的所有子类可以访问这些符号例子:classprintable{prot......
  • 【C++】内存分区模型 - 内存四区
    补充内容:c++编译过程:编译预处理、编译优化、汇编、链接①编译预处理:处理以“#”开头的指令,产生“.i”文件;【如头文件、define宏定义等】②编译优化:将源码".cpp"文件翻译成“.s”汇编代码;【如词法语法语义分析,代码优化等】③汇编:将汇编代码“.s”翻译成机器指令“.o”或".ob......