输入包括一个整数n(1 ≤ n ≤ 10^18)
输出一个整数,即数字序列的第n项
169
18
#include<iostream> #include<math.h> #include<iomanip> using namespace std; int main(){ long long k = 0; cin >> k; cout << fixed << setprecision(0) << ceil((sqrt(1+8*k)-1)/2); return 0; }
import math n = int(input()) m = int(math.sqrt(2*n)) if m*m+m>=2*n: if m*m-m<2*n: print(m) else: print(m-1) else: print(m+1)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题