※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 13225번 문제인 Divisors이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/13225 

 

13225번: Divisors

For each integer n, print a line with the number n itself, a space and the number of divisors.

www.acmicpc.net

x가 n을 나누어떨어지게 할 수 있는 수인지는 n%x, 즉 n을 x로 나눈 나머지가 0인지 아닌지를 이용해 판단할 수 있다.

 

입력으로 주어지는 정수의 크기가 상당히 제한적이므로, 반복문을 통해 n 이하의 양의 정수로 n을 나누는 것을 시도해 약수의 개수를 세는 것으로 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int T; cin >> T;
	while (T--) {
		int cnt = 0;
		int x; cin >> x;
		for (int i = 1; i <= x; i++) {
			if (x % i == 0) cnt++;
		}
		cout << x << ' ' << cnt << '\n';
	}
}
728x90

+ Recent posts