2020-09-15
문제
N으로 나누었을 때
나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오.
예를 들어 N=3일 때,
나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로,
그 합은 12이다.
입력
첫째 줄에 2,000,000 이하의 자연수 N이 주어진다.
출력
첫 줄에 구하고자 하는 수를 출력한다.
소스코드
int n = scan.nextInt();
int number = n;
int sum = 0;
loop : while(true) {
int mok = number / n;
int nmg = number % n;
if(mok >= n) {
break loop;
}
//몫과 n의 값이 같아지면 더이상
//몫과 나머지가 같은 수는 없다.
if(mok == nmg) {
sum += number;
}
number++;
}
System.out.println(sum);
출처 링크 : www.acmicpc.net/problem/1834