본문 바로가기

Algorithm/Brute Force

(C++, Rust) - 백준(BOJ) 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

전수조사 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

test case 개수 n, 매 test case마다 숫자 num을 선언 후 입력받습니다. vector divisors

📔 풀이과정

1 ~ n까지 loop를 수행하며 인수를 vector에 저장해줍니다.

📔 정답출력

num과 divisors의 길이를 출력해줍니다.


📕 Code

C++

#include <bits/stdc++.h>
using namespace std;
int n, num;

int main(){
    cin >> n;
    while(n--){
        cin >> num;
        vector <int> divisors;

        for(int i = 1; i <= num; i++) {
            if(num % i == 0) divisors.push_back(i);
        }
        cout << num << ' ' << divisors.size() << '\n';
    }

}

rust

use std::io;

fn main() {
    let mut line = String::new();
    io::stdin().read_line(&mut line).expect("wrong io");
    let mut n = line.trim().parse::<i32>().unwrap();
    loop {
        let mut line = String::new();
        io::stdin().read_line(&mut line).expect("wrong io");
        let num = line.trim().parse::<i32>().unwrap();
        let mut divisors = vec![];
        for i in 1..num + 1 {
            if num % i == 0 {
                divisors.push(i);
            }
        }
        println!("{} {}", num, divisors.len());
        n -= 1;
        if n == 0 {
            break;
        }
    }
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.