首页 > 试题广场 >

求数列第n项

[编程题]求数列第n项
  • 热度指数:3804 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
米兔从兔米那里了解到有一个无限长的数字序列 1,  2,3,3,4,4,4,  5,5,5,5,5 ...,(已知此数列有一定规律,现将这些数字按不同数值堆叠,相同值的数字在同一层)。米兔想知道这个数字序列的第n个数所在的那一层之前的所有层里共有多少个数。

输入描述:
n(n<=1e18)


输出描述:
第n个数所在的那一层之前的所有层里共有多少个数
示例1

输入

6

输出

4
头像 中科院在逃院士
发表于 2021-07-25 22:23:40
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); lon 展开全文
头像 bandiaoz
发表于 2024-12-27 01:54:41
解题思路 观察数列 ,可以发现: 每个数字 会重复 次 要找到第 个数所在层之前的所有数的和,需要: 使用斐波那契数列来计算每层的累积和 当累积和大于等于 时,减去最后一个数即为答案 代码 cpp java python #include <iostream 展开全文