Jumping Jack
生活随笔
收集整理的這篇文章主要介紹了
Jumping Jack
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:
杰克最近正在努力鍛煉他的跳躍技能。當前他正站在X坐標軸原點上。他想跳到坐標(x,0)上,為了達到訓練效果,他決定首次跳躍的距離是1,之后每一次跳躍的距離將會比上一次跳躍的距離大1個單位。每一次跳躍,他可以選擇往左或者往右跳。他很好奇至少要經過多少次跳躍才能到達終點。
Input 單組測試數據。 輸入數據只包含整數x(-10^9<=x<=10^9)。 Output 輸出杰克到達終點所需要的最少的跳躍次數。思路:
無論正負,步數均相同,因此只考慮一種符號即可(正數和零或負數和零)
設目標為(x, 0),已走距離為 s,則當 s > x 并且 s - x 為偶數時,只需要在第 (s-x) / 2 步向左走
當(s-x) 為奇數時 繼續走
代碼如下:
#include<iostream> #include<algorithm> #include<cstring> using namespace std; int main() { int enter, begin = 1, time, set = 0, i;for ( enter = 0; enter < 21; enter++){ if (enter < 0) enter = -enter; set = 0;for (i = 0;; i++) {set += i;if (set == enter) break; if (set > enter && (set - enter) % 2 == 0) break; }cout << enter << "->" << i << endl;}return 0; }題目出處:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1615
轉載于:https://www.cnblogs.com/Breathmint/p/7594672.html
總結
以上是生活随笔為你收集整理的Jumping Jack的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: p,br,hn,b,i,u,s,sup,
- 下一篇: 作业7