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;
- }
-
相关阅读:
Java项目:SSM社区居民户籍扶贫管理系统
【深入理解C++】vector
003 Spring注解
算法通关村第十五关青铜挑战——使用位存储 处理海量数据问题之用4KB内存寻找重复元素
浏览器中输入URL后到底发生了什么?
Gradle学习笔记之Groovy简单使用
HTML5期末考核大作业——学生网页设计作业源码HTML+CSS+JavaScript 中华美德6页面带音乐文化
Jmeter性能测试
【再探】设计模式—备忘录模式与解释器模式
java继承——super关键字的使用
-
原文地址:https://blog.csdn.net/jisuanji2606414/article/details/126196588