Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
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 31
Archives
Today
Total
관리 메뉴

코딩로그

[백준/BOJ/C++] 16479번 컵라면 측정하기 본문

YJ/C++

[백준/BOJ/C++] 16479번 컵라면 측정하기

Team DAON 2021. 10. 20. 16:06

[문제]

컵라면은 두 개의 밑면이 서로 평행하며, 원 모양인 원뿔대이다. 따라서 컵라면을 옆에서 본 모습은 아래 그림과 같은 등변사다리꼴이다.

위 등변사다리꼴에서 민수가 측정한 컵라면의 윗면의 지름은 D1, 아랫면의 지름은 D2이다. 민수가 아직 측정하지 않은 변의 길이는 K이다. 이때, (컵라면의 높이)2의 값을 알아내는 프로그램을 작성하시오. (단, 컵라면의 높이는 등변사다리꼴에서 평행한 두 변 사이의 거리로 정의한다.)

 

[입력]

첫째 줄에 K의 값이 주어진다. 둘째 줄에는 D1과 D2의 값이 사이에 공백을 한 개 두고 차례대로 주어진다. 단, K, D1, D2의 값은 양의 정수이다.

 

[출력]

첫째 줄에 (컵라면의 높이)^2의 값을 출력한다. 절대/상대 오차는 10^-6 까지 허용한다.

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <cmath>
using namespace std;


int main() {
	double k, d1, d2;
	cin >> k >> d1 >> d2;

	double d = (d1 - d2)/2;

	double result = pow(k, 2) - pow(d, 2);

	cout << result;
}

[결과 화면]