学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。
附上汇总贴:历年CSP-J复赛真题解析 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
小Y的桌子上放着n个苹果从左到右排成一列,编号为从1到n。
小苞是小Y的好朋友,每天她都会从中拿走一些苹果。
每天在拿的时候,小苞都是从左侧第1个苹果开始、每隔2个苹果拿走1个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。
小苞想知道,多少天能拿完所有的苹果,而编号为n的苹果是在第几天被拿走的?
【输入】
输入的第一行包含一个正整数n,表示苹果的总数。
【输出】
输出一行包含两个正整数,两个整数之间由一个空格隔开,分别表示小苞拿走所有苹果所需的天数以及拿走编号为n的苹果是在第几天。
【输入样例】
8
【输出样例】
5 5
【代码详解】
#include <bits/stdc++.h>
#include <cmath>
using namespace std;
int n, take = 0, cnt = 1, ans2 = 0;
int main()
{cin >> n;while (n>0) {if (!ans2 && n%3==1) {ans2 = cnt;}take = ceil(1.0*n/3);// cout << "n take " << n << " " << take << endl;n = n - take;cnt++;}cout << cnt-1 << " " << ans2 << endl;return 0;
}
【运行结果】
8
5 5
本文发布于:2024-01-28 04:14:56,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063865014691.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |