SWEA

SWEA 18662. 등차수열 만들기 D3 C++

2024. 5. 12. 16:18

 

 

 

 

 

2가지의 등차수열 경우의 수가 있으므로, 2가지 경우의 수를 고려해 등차가 더 적은 경우로 출력하도록 구현했다.

특히 cout << precision(); 에서,

해당 함수 안에 들어가는 수는 정수부와 소수부의 자리수를 포함한 값이기 때문에,

소수점 첫째자리까지를 출력하려면

cout << fixed;

와 함께 precision()  안에는 1을 써주어야하는 것이 중요했다.

 

 

 

 

 

작성한 코드는 다음과 같다.

#include<iostream>
#include <cmath>
using namespace std;

int main(int argc, char** argv){  
    // t 입력받기
    int t;
    cin >> t;
    
    // 등차수열 계산해서 출력하기
    double a,b,c;
    for(int i=0; i<t; i++) {
    	cin >> a >> b >> c;
        
        double result;
        double temp1 = abs( (b+(b-a)) -c );
        double temp2 = abs( (a+c)/2 - b );
        
        if(temp1 > temp2)
            result = temp2;
        else
            result = temp1;
        
        cout << fixed;
        cout.precision(1);
        cout << "#" << i+1 << " " << result << "\n";
    }
        
	return 0;//정상종료시 반드시 0을 리턴해야합니다.
}