[BAEKJOON] 백준 15964 : 이상한 기호(C#)
2024. 4. 5. 02:26ㆍIT/BaekJoon
문제 링크
https://www.acmicpc.net/problem/15964
문제
부산일과학고등학교의 효진이는 수학의 귀재이다. 어떤 문제라도 보면 1분 내에 풀어버린다는 학교의 전설이 내려올 정도였는데, 이런 킹ㅡ갓 효진에게도 고민이 생겼다. 대부분의 문제에서 반복되는 연산이 있었기 때문이다! 이 연산은 너무 길어서 종이에 풀던 효진이는 너무 고통스러워서, 자신이 새로 연산자를 만들기로 했다.
연산자의 기호는 @으로, A@B = (A+B)×(A-B)으로 정의내리기로 했다.
하지만, 효진이는 막상 큰 숫자가 들어오자 계산하기 너무 귀찮아졌다.
효진이를 도와 정수 A, B가 주어지면 A@B를 계산하는 프로그램을 만들어주자!
입력
첫째 줄에 A, B가 주어진다. (1 ≤ A, B ≤ 100,000)
출력
첫째 줄에 A@B의 결과를 출력한다.
통과한 답안
더보기
namespace _15964
{
internal class Program
{
static void Main(string[] args)
{
// A@B = (A+B)X(A-B) == A * A - B * B
string s = Console.ReadLine();
string[] ss = s.Split(' ');
long a = long.Parse(ss[0]);
long b = long.Parse(ss[1]);
Console.WriteLine(a * a - b * b);
}
}
}
A@B = (A+B) X (A-B)로 주어지는데 이는 A * A - A * B + B * A - B * B인데
이 연산은 숫자에서 사용되는 연산이므로 교환법칙이 성립하므로 A * B = B * A이다.
따라서 A@B = A * A - B * B가 된다.
이를 구현하면 되는데 A와 B의 범위가 10만 이하이므로,
이를 제곱하면 int의 범위를 벗어나므로 long을 사용한다.
'IT > BaekJoon' 카테고리의 다른 글
[BAEKJOON] 백준 2675 : 문자열 반복(C#) (0) | 2024.04.05 |
---|---|
[BAEKJOON] 백준 2562 : 최댓값(C#) (0) | 2024.04.05 |
[BAEKJOON] 백준 7287 : 등록(C#) (0) | 2024.04.05 |
[BAEKJOON] 백준 10699 : 오늘 날짜(C#) (0) | 2024.04.05 |
[BAEKJOON] 백준 2754 : 학점계산(C#) (0) | 2024.04.05 |