一、问题描述:
对于这样一个序列:1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,…
分别有1个1,2个2,3个3,4个4,……求第n个数的值。
二、要求
输入: n,范围: n大于等于1,且n小于等于10^18。
输出: 序列中第n个数的值
要求: 运行时间不超过1s(内存不超过多少我忘了)
输入范例: 100
输出范例: 14
三、解决
编程语言: java
思路:
对序列 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,…
令number=1,2,3,…
令order(no) 为最后一个number=no的数的位置序号,那么,
order(1) = 1,
order(2) = order(1)+2,
order(3) = order(2)+3,
order(4) = order(3)+4