반응형
https://www.acmicpc.net/problem/16483
간단한 구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
한 줄line을 선언해 입력받고 t 변수를 선언해 이를 저장합니다.
📔 풀이과정
a, b, t를 그림으로 나타내면 다음과 같습니다.
접선과 원의 중심까지의 거리는 b이며 이 선과 접선은 수직이므로 피타고라스의 정리를 이용해 공식을 세울 수 있습니다.
$$ b^2 + (t/2)^2 = a^2 $$
구하려는 값은 $$ a^2 - b^2 $$ 이므로 적절히 이항하면
$$ (t/2)^2 = a^2 - b^2 $$ 가 됩니다.
📔 정답출력
이 공식을 소수점 첫째자리에서 반올림한 값을 출력합니다.
📕 Code
use std::io;
fn main() {
let mut line = String::new();
io::stdin().read_line(&mut line).expect("wrong io");
let t = line.trim().parse::<f64>().unwrap();
println!("{}", (t/2.0 * t/2.0).round());
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(Rust) - 백준(BOJ) 21312 : 홀짝 칵테일 (0) | 2022.08.26 |
---|---|
(Python) - 백준(BOJ) 14579 : 덧셈과 곱셈 (2) | 2022.08.23 |
(Rust) - 백준(BOJ) 17350 : 2루수 이름이 뭐야 (0) | 2022.08.21 |
(Rust) - 백준(BOJ) 17094 : Serious Problem (0) | 2022.08.19 |
(Rust) - 백준(BOJ) 16504 : 종이접기 (0) | 2022.08.18 |