Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 주어진 정수에 3.5를 곱합니다.

<시간/>

n * 3.5의 결과를 얻으려면 (n * 2) + n + (n / 2)를 계산해야 합니다. . 비트를 1만큼 왼쪽으로 이동하면 n * 2가 됩니다. 비트를 오른쪽으로 이동하려면 n / 2 . 결과를 얻으려면 추가하십시오.

n * 3.5 =(n * 2) + n + (n / 2)

위의 방정식을 확인하기 위해 다른 n 값을 제출할 수 있습니다. 몇 가지 예를 살펴보겠습니다.

입력

2
7
10

출력

7
24
35

알고리즘

  • 숫자 n을 초기화합니다.
  • 왼쪽 시프트 비트 연산자를 사용하여 n * 2 찾기
  • 오른쪽 시프트 비트 연산자를 사용하여 n/2를 찾습니다.
  • 결과를 얻으려면 위의 두 값을 n과 함께 추가하세요.
  • 결과를 반환합니다.

위 단계의 간단한 문제입니다.

구현

다음은 위의 알고리즘을 C++로 구현한 것입니다.

#include <bits/stdc++.h>
using namespace std;
int getTheResult(int x) {
   return (x << 1) + x + (x >> 1);
}
int main() {
   int n = 10;
   cout << getTheResult(n) << endl;
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

35