[알고리즘]/BOJ

[C#/BOJ] 1834번: 나머지와 몫이 같은 수

개발새발주발 2024. 4. 15. 18:00
728x90

1. 문제 

 

1834번: 나머지와 몫이 같은 수

N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.

www.acmicpc.net

 

2. 코드 

using System;

class BJ1834
{
    static void Main()
    {
        long n = long.Parse(Console.ReadLine());

        long sum = ((n * n * n) - n) / 2;

        Console.WriteLine(sum);

    }
}

 

3. 풀이

간단한 수학 문제이다. 

 

그러나 여기서 가장 중요한 것은 바로 형(type)

처음 int로 입력을 받고 입력값을 2,000,000으로 입력했을 때 음수가 나왔다. 

 

입력받는 값이 최대 2,000,000이지만 답인 sum은 n의 세제곱이기 때문에 long을 사용해주어야한다 ! 

 

형식 설정을 잘못하게 되면 결과가 잘못되거나 오버플로우가 발생할 수 있다.