2019년 4월 13일 토요일

# 주어진 숫자열중에 0에 가장 근접한 숫자.

# 주어진 숫자열중에 0에 가장 근접한 숫자를 찾아내야 한다.  -> 만약 숫자열에 가장 0에 근접한 숫자가 3인데 이 숫자가 양수, 음수로 존재한다면 양수값으로 return 해야 한다.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char** argv) {
 int numbers[5];
 int range = 5;
 // test case
 numbers[0] = -3;
 numbers[1] = 4;
 numbers[2] = -55;
 numbers[3] = 3;
 numbers[4] = -18;

 int closest = numbers[0];
 bool isNegartive = false;
 for (int idx = 1; idx < range; idx++) {
  if (numbers[idx] < 0) isNegartive = true;
  else isNegartive = false;
  if (abs(numbers[idx]) < abs(closest)) closest = numbers[idx];
  else if (abs(numbers[idx]) == abs(closest) && !isNegartive) closest = numbers[idx];
 }

 cout << "closest : " << closest << endl;

 return 0;

댓글 없음:

댓글 쓰기