>백엔드 개발 >C++ >도둑이 벽을 넘기 위해 필요한 점프 횟수

도둑이 벽을 넘기 위해 필요한 점프 횟수

PHPz
PHPz앞으로
2023-09-11 20:57:021278검색

도둑이 벽을 넘기 위해 필요한 점프 횟수

죄수(또는 도둑)가 감옥에서 탈출하고 싶어한다고 상상해 보세요. 이를 위해서는 길이가 다른 N 벽을 넘어야 합니다. 그는 점프당 X 피트를 오를 수 있습니다. 그러나 벽이 미끄럽기 때문에 그는 점프할 때마다 Y 피트 아래로 미끄러질 것입니다. 따라서 모든 벽을 통과하는 데 필요한 점프 횟수를 계산해야 합니다. 이 기사에서는 감옥에서 탈출하는 데 필요한 점프 횟수를 찾기 위해 다양한 C++ 기술을 살펴보겠습니다.

입력 및 출력 시나리오

우리는 배열 형태로 서로 다른 높이의 N 벽을 가지고 있습니다. X 는 점프 길이이고, Y 는 후퇴 길이입니다. 출력으로 점프 횟수가 있습니다.

으아악

반복적인 방법을 사용하세요

여기에서는 forwhile 루프를 사용하여 점프 횟수를 찾습니다.

벽의 높이가 점프 길이(x)보다 작을 경우 한 번의 점프로 벽을 뛰어넘을 수 있습니다. 따라서 numJumps가 1씩 증가합니다. continue 문을 사용하여 나머지 루프를 중지하고 다음 루프를 계속합니다.

높이가 점프 길이보다 크면 while을 사용하여 h – (x – y)를 반복하여 남은 높이가 점프 길이보다 작거나 같아질 때까지 점프 횟수를 계산합니다.

다음으로 마지막 벽에 점프를 추가합니다.

Example

의 중국어 번역은

Example

입니다. 으아악

출력

으아악

직접 계산 사용

도둑이 벽을 넘기 위해 필요한 점프 횟수를 계산하는 공식은 다음과 같습니다 -

으아악

우리는 for 루프를 사용하여 각 벽을 반복합니다. 현재 벽의 높이는 변수 h에 저장됩니다.

그런 다음 공식을 사용하여 필요한 점프 횟수를 직접 계산합니다. ceil 함수를 사용하여 값을 가장 가까운 정수로 반올림합니다.

Example

의 중국어 번역은

Example

입니다. 으아악

출력

으아악

나눗셈 및 모듈로 연산자 사용

또한 division(/)modulo(%) 연산자를 사용하여 점프 횟수를 계산할 수도 있습니다. 여기서 우리는 벽 높이와 점프 길이의 차이를 계산합니다. 차이가 0보다 크면 (x-y)로 나누어 점프 횟수를 계산합니다. 나머지가 있으면 하나를 추가합니다. 그리고 차이가 0이거나 음수이면 점프는 한 번만 하면 됩니다.

Example

의 중국어 번역은

Example

입니다. 으아악

출력

으아악

결론

우리는 도둑이 벽을 뛰어 넘는 점프 횟수를 결정하는 다양한 방법을 논의했습니다. 반복 방법을 사용할 수 있습니다. 이러한 반복을 대체하기 위해 공식을 직접 사용할 수 있습니다. 또는 division모듈로 연산자를 사용하여 이 문제를 해결할 수 있습니다.

위 내용은 도둑이 벽을 넘기 위해 필요한 점프 횟수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제