首页 > 试题广场 >

数字序列第n位的值

[编程题]数字序列第n位的值
  • 热度指数:8674 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
有一个无限长的数字序列1,2,2,3,3,3,4,4,4,4,5,5,5,5,5。。。(数字序列从1开始递增,且数字k在该序列中正好出现k次),求第n项是多少

数据范围:

输入描述:
输入为一个整数n


输出描述:
输出一个整数,即第n项的值
示例1

输入

4

输出

3

备注:
如:输入为3,有序数列第3项的值为2,则输出为2
头像 牛客题解官
发表于 2020-06-04 15:13:17
精华题解 题目难度:一星 考察点:模拟 方法:模拟 1.分析: 其实这个题我们根据题意模拟就可以了,即定义一个变量ans=0,sum=0,分别表示当前数字是ans的时候一共可以最多有sum项,然后我们就while(sum<n),里面就是ans++, sum+=ans; 展开全文
头像 niuke18539
发表于 2020-03-15 23:10:59
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double n 展开全文
头像 laglangyue
发表于 2020-05-29 23:13:03
数学方法,解一元二次方程,o(1)复杂度。 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-02-06 12:01:15
#include <iostream> using namespace std; int main() { int a; cin>>a; int i=0; int k=1; for(i=1;i<=a;i++) { 展开全文
头像 Muuuuuuu
发表于 2022-05-11 13:05:04
求根公式 1+2+3+...+K=((1+K)∗K)/2 1 + 2 + 3 + ... + K = ((1+K)*K)/21+2+3+...+K=((1+K)∗K)/2 假设第n位数字为xxx,有: ((1+x)∗x)/2>=n((1+x)*x)/2 >= n((1+x)∗x)/2&g 展开全文
头像 我不打朋友圈
发表于 2021-12-16 15:36:20
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) 展开全文
头像 Brillianman
发表于 2023-07-04 10:06:11
n = int(input()) a = 1 sum = 1 while sum < n: a += 1 sum += a print(a)