B. Jumps
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You are standing on the OXOX-axis at point 00 and you want to move to an integer point x>0x>0.
You can make several jumps. Suppose you're currently at point yy (yy may be negative) and jump for the kk-th time. You can:
What is the minimum number of jumps you need to reach the point xx?
Input
The first line contains a single integer tt (1≤t≤10001≤t≤1000) — the number of test cases.
The first and only line of each test case contains the single integer xx (1≤x≤1061≤x≤106) — the destination point.
Output
For each test case, print the single integer — the minimum number of jumps to reach xx. It can be proved that we can reach any integer point xx.
Example
input
Copy
5 1 2 3 4 5
output
Copy
1 3 2 3 4
Note
In the first test case x=1x=1, so you need only one jump: the 11-st jump from 00 to 0+1=10+1=1.
In the second test case x=2x=2. You need at least three jumps:
Two jumps are not enough because these are the only possible variants:
In the third test case, you need two jumps: the 11-st one as +1+1 and the 22-nd one as +2+2, so 0+1+2=30+1+2=3.
In the fourth test case, you need three jumps: the 11-st one as −1−1, the 22-nd one as +2+2 and the 33-rd one as +3+3, so 0−1+2+3=40−1+2+3=4.
=========================================================================
首先对于能够用 1+2+...n表示的,那么肯定首选n种
1+2+3+............+n = y
y ->n
y-1 y的基础之上减1
y-2 第一步变成-1
y-3 第二部变成-1
。。
y-n+1 第n-1部分变成-1
y-n 也就是1+2+3....+n-1 会被上一次循环拦截掉
- #include
- using namespace std;
- typedef long long int ll;
-
- int main()
- {
-
-
- int t;
-
- cin>>t;
-
- while(t--)
- {
- int n;
-
- cin>>n;
-
- for(ll i=1;;i++)
- {
- ll now=(i)*(i+1)/2;
-
- if(now==n)
- {
- cout<
- break;
- }
- else if(now==n+1)
- {
- cout<1<
- break;
- }
- else if(now>n)
- {
- cout<
- break;
-
- }
- }
- }
- return 0;
- }
-
相关阅读:
理科爱好者杂志理科爱好者杂志社理科爱好者编辑部2022年第3期目录
Elastic Stack--09--ElasticsearchRestTemplate
杀死僵尸进程ZooKeeperMain
Python快速入门教程
Mathorcup数学建模竞赛第四届-【妈妈杯】C题:家庭暑假旅游套餐的设计(附MATLAB和SAS代码)
“第六十四天” 字扩展和位扩展,外部存储器
不懂Mysql排序的特性,加班到12点,认了认了
Mybatis-Plus的CURD实操
图学习【参考资料2】-知识补充与node2vec代码注解
JAVA:实现Pow函数功能算法(附完整源码)
-
原文地址:https://blog.csdn.net/jisuanji2606414/article/details/126196588