https://www.acmicpc.net/problem/1834
1834번: 나머지와 몫이 같은 수
N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.
www.acmicpc.net
해석 및 팁
이 문제는 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는것입니다. 이때 해당 자연수의 개수는 N-1개이고 자연수의 공식은 (n*i)+i 이므로 반복문의 통해 합을 구하면 됩니다. int를 사용할경우 오버플로우가 나기 때문에 long을 사용해야합니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextLong();
long sum = 0;
for(int i = 1; i < n; i++) { // 나머지와몫이 같은수는 n-1개 이다.
sum += (n*i)+i;
}
System.out.println(sum);
}
}
'백준' 카테고리의 다른 글
백준 1526 가장 큰 금민수(Java) (1) | 2023.01.18 |
---|---|
백준 14696 딱지놀이(Java) (0) | 2023.01.18 |
백준 2810 컵홀더(Java) (0) | 2023.01.17 |
백준 2947 나무 조각(Java) (0) | 2023.01.17 |
백준 1145 적어도 대부분의 배수(Java) (0) | 2023.01.17 |