题目描述
AC鸭最近在练习跳跃,目前它处于数轴的0点,它想跳到
x点。为了训练,它决定先跳一个单位,随后的每一次 一次跳跃都会比前一次长一个单位。它每次跳跃都可以往左或者往右走。它想知道最少需要多少次跳跃可以到达
x。
输入格式
一个整数
x。
输出格式
输出一个正整数表示AC鸭到达
x所需要的最少跳跃次数。
样例
输入数据 1
2
输出数据 1
3
输入数据 2
6
输出数据 2
3
输入数据 3
0
输出数据 3
0
对于第一个样例: 起始在0 第1次往右跳到1。 第2次往左跳到-1。 第3次往右跳到2。 所以最少跳3次。
这是我写的,你试试看能不能跑过,不行的话你把完整题目截图发出来看看,你这个案例我看的不是很清楚
#include <stdio.h>
#include <stdlib.h>
int calculateJumps(int x) {
int jumps;
if (x == 0) {
jumps = 0;
} else if (x % 2 == 0) {
jumps = x / 2;
} else {
jumps = x / 2 + 1;
}
return jumps;
}
int main() {
int x;
printf("请输入目标点x的值:");
scanf("%d", &x);
int jumps = calculateJumps(abs(x));
printf("最少需要跳跃次数: %d\n", jumps);
return 0;
}
下午看,先查做个记录哈