ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준 1834번] 나머지와 몫이 같은 수 (Java 풀이)
    Algorithm/기타 2020. 1. 14. 23:12

    백준알고리즘 1834번 : 나머지와 몫이 같은 수

     

    철저하게 수학 공식과 데이터 범위만 따지는 문제이다.

    문제를 읽어나가다보면, 더해주어야 하는 숫자의 갯수는 입력받는 값 N-1개라는 것을 알 수 있다.

    또한, 이는 초항이 N+1이고, 등차가 N+1인 등차수열이라는 것 역시 알 수 있다.

    나머지와 몫이 같으려면, 일단 나머지가 존재해야 하기 때문이다.

     

    그러나 이만 믿고 int변수를 선언한 후 for문을 돌렸다간.. 실패를 면치 못한다.

    아니 for문이 아니라 등차수열의 합 공식인 n(a+l)/2 를 이용해도 실패다.

    언제나 우리는 집어넣을 수 있는 값 중 극한의 값을 집어넣어야한다.

    N값에 200만을 집어넣는다면 for문은 200만번-1번 돌것이고,

    int자료형이 담을 수 없는 값이 추출된다.

     

     

     

     

    풀이 과정



    1. N과 정답을 담을 long type의 변수를 선언한다.
    2. 등차수열의 합 공식[n(a+l)/2]을 이용하여 정답을 계산하고 출력한다.

     

     

     

    소스 ▽

    더보기
    import java.util.Scanner;
    
    public class Main {// 1834번 나머지와 몫이 같은 수
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		long num = sc.nextInt();
    
    		long ans = (num - 1) * (num + 1 + (num + 1) * (num - 1)) / 2;
    
    		System.out.println(ans);
    
    	}
    }
    

     

     

     

    'Algorithm > 기타' 카테고리의 다른 글

    [백준 9506번] 약수들의 합(Java 풀이)  (0) 2020.01.19
    [백준 9625번] BABBA (Java 풀이)  (0) 2020.01.18
    [백준 2851번] 슈퍼마리오  (0) 2020.01.12
    [백준 2740번] 행렬 곱셈  (0) 2020.01.08
    [백준 11005번] 진법 변환 2  (1) 2020.01.05

    댓글

Designed by Tistory.