首页 > 试题广场 >

计数器

[编程题]计数器
  • 热度指数:3826 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小爱有一个奇怪的计数器。在第一个时刻计数器显示数字3,在接下来的每一个时刻,屏幕上的数字都会减1,直到减到1为止。

接下来,计数器会重置为上一个计数周期初始值的两倍,然后再每一个时刻减1。具体过程如下图所示:

找出规律,并打印出t时刻计数器的值。

输入描述:
输入为时刻t,一个整形数字。0<t<1e12


输出描述:
计数器显示的值。
示例1

输入

4

输出

6
头像 bandiaoz
发表于 2024-12-27 02:12:46
解题思路 根据题目描述和示例,我们可以发现以下规律: 初始时刻t=1,显示值为3 每个时刻的值会减1,直到减为1 按下按钮后,计数器会重置为上一个周期初始值的两倍 解题思路: 使用两个变量: a:记录当前时刻 b:记录当前周期的初始值 先快速定位到目标时刻所在的周期 然后在周期内逐步调整 展开全文
头像 恒成立
发表于 2021-09-19 14:50:41
import java.io.*; import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); 展开全文