Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 |
Tags
- 금융권it
- SQLD
- kb네트워킹캠프
- 취업교육
- 반별이벤트
- 전문가특강
- sql
- kb 취업교육
- 부트캠프
- kb 기자단
- 금융권 부트캠프
- 이차원배열
- 첫알고리즘평가
- autohotkey
- KB국민은행
- prefixsum #C언어
- 멀티캠퍼스
- kbit교육
- 오토핫키
- kb취업교육
- 금융권 it
- SQL데이터타입
- 알고리즘
- kb it's your life 기자단
- kb it's your life
- kb it's your life 6기
- sql내장함수
Archives
- Today
- Total
지식보부상님의 공부 일지
SWEA 18662번: 등차수열 만들기 (D3) 본문
세 개의 실수 x,y,z가 등차수열을 이룬다는 것은, y - x = z - y라는 것과 동치이다. 세 정수 a,b,c가 주어진다. 당신은 음이 아닌 실수 x을 정한 뒤, 세 정수 중 하나에서 x만큼을 더하거나 뺄 수 있다. 당신은 이러한 작업을 정확히 한 번 하여 a,b,c가 등차수열을 이루도록 하려고 한다. 이것이 가능하도록 하는 가장 작은 x의 값이 얼마인지 구하는 프로그램을 작성하라. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스는 하나의 줄로 이루어진다. 각 줄에는 세 개의 정수 a,b,c (0≤a,b,c≤1000)가 공백 하나를 사이로 두고 주어진다. [출력] 각 테스트 케이스마다 한 줄에 하나씩, a,b,c가 등차수열을 이루도록 할 수 있는 가장 작은 x의 값을 출력한다. 참값과의 절대 오차 또는 상대 오차가 10-9이하이면 정답 처리된다. x의 값이 정수가 아닐 수 있음에 유의하라. (x값은 소수점 1자리까지 출력한다.) |
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define compare(x, y, z)(x<y?x<z?x:z:y<z?y:z)
int main() {
int tc, a, b, c;
int i;
double a_0, b_0, c_0, x_a, x_b, x_c, min;
scanf("%d", &tc);
for (i = 0; i < tc; i++) {
scanf("%d %d %d", &a, &b, &c);
//new a, c, b value respectively
a_0 = 2.0 * b - c;
c_0 = 2.0 * b - a;
b_0 = (a + c) / 2.0;
x_a = fabs(a - a_0);
x_b = fabs(b - b_0);
x_c = fabs(c - c_0);
min = compare(x_a, x_b, x_c);
printf("#%d %.1f\n", i+1, min);
}
return 0;
}
'C언어 문제풀이' 카테고리의 다른 글
SWEA 15868번: XOR 2차원 배열 (D3) (1) | 2023.11.11 |
---|---|
SWEA 2805번: 농작물 수확하기 (D3) (3) | 2023.11.11 |
SWEA 1206번: View (D3) (1) | 2023.11.06 |
SWEA 17319번: 문자열문자열 (D3) (1) | 2023.11.06 |
SWEA 1979번: 어디에 단어가 들어갈 수 있을까 (0) | 2023.11.06 |