작성일 :

문제 링크

15964번 - 이상한 기호

설명

새로운 연산 A@B = (A + B) × (A - B)로 정의되어 있습니다.

두 정수 A, B가 주어질 때, A@B의 값을 구해야 합니다.


접근법

주어진 공식대로 (A + B) × (A - B)를 계산합니다.

AB의 절댓값이 최대 100,000이므로,

최악의 경우 (100000 + 100000) × (100000 - (-100000)) = 200000 × 200000 = 40,000,000,000으로 약 400억이 됩니다.

따라서 64비트 정수 자료형을 사용해야 합니다.



Code

C#

1
2
3
4
5
6
7
8
9
10
11
12
13
using System;

namespace Solution {
  class Program {
    static void Main(string[] args) {
      var tokens = Console.ReadLine()!.Split();
      var a = long.Parse(tokens[0]);
      var b = long.Parse(tokens[1]);

      Console.WriteLine((a + b) * (a - b));
    }
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  ll a, b; cin >> a >> b;

  cout << (a + b) * (a - b) << "\n";

  return 0;
}