题目描述
小 Y 的桌子上放着 n 个苹果从左到右排成一列,编号为从 1 到 n。
小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。
每天在拿的时候,小苞都是从左侧第 1 个苹果开始、每隔 2 个苹果拿走 1 个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。
小苞想知道,多少天能拿完所有的苹果,而编号为 n 的苹果是在第几天被拿走的?
输入
从文件 apple.in 中读入数据。
输入的第一行包含一个正整数 n,表示苹果的总数。
输出
输出到文件 apple.out 中。
输出一行包含两个正整数,两个整数之间由一个空格隔开,分别表示小苞拿走所有
苹果所需的天数以及拿走编号为 n 的苹果是在第几天。
样例输入
8
样例输出
5 5
代码
#include<bits/stdc++.h>
using namespace std;
int n,ans,k;
int main(){
cin>>n;
while(n){
ans++;
if(k==0&&n%3==1)k=ans;
if(n%3==0)n-=n/3;
else n-=n/3+1;
}
cout<<ans<<" "<<k;
return 0;
}