삐까냥의 파도타기

3408. 세가지 합 구하기 본문

코딩/SW Expert Academy

3408. 세가지 합 구하기

금손형아 2018. 3. 15. 21:56

문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWEbPukqySUDFAWs


그냥 수학 문제였어요.


result1은 n까지의 시그마를 구하면 됩니다.


result2와 result3의 차이는 n입니다.


result3 = result2 + n


따라서 n*2의 시그마를 구한다음


n을 빼주고, 나누기 2를 하면 result2가 나옵니다.


result2에 n을 더하면 result3입니다.


import java.util.Scanner;


public class Q3408 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int testCase = sc.nextInt();

for (int i = 1; i <= testCase; i++) {

long value = sc.nextLong();

long result1 = getSigma(value);

long result2 = getResult2(value);

long result3 = result2 + value;

System.out.println("#" + i + " " + result1 + " " + result2 + " " + result3);

}

}

static long getSigma(long num) {

return num * (num + 1) / 2;

}

static long getResult2(long num) {

long tempResult = getSigma(num * 2);

tempResult = (tempResult - num) / 2;

return tempResult;

}

}


'코딩 > SW Expert Academy' 카테고리의 다른 글

3975. 승률 비교하기  (0) 2018.03.27
2814. 최장 경로  (0) 2018.03.27
3260. 두 수의 덧셈  (0) 2018.03.15
3376. 파도반 수열  (0) 2018.03.15
3307. 최장 증가 부분 수열  (0) 2018.03.15