알고리즘 문제풀이/백준

#2501 : 약수 구하기

모항 2023. 1. 16. 00:42

풀이방법

사용된 것:

브루트포스(Brute Force)

 

 

 

 

 

2021.12.08

N을 1부터 N까지의 수로 모두 순서대로 나누어보면서, 나머지가 0인 숫자가 발견되면 그 숫자를 기록해두면 된다.

 

코드

C++(2021.12.08)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>


int main()
{
	int arr[100] = {0};

	int n, k;

	scanf("%d", &n);
	scanf("%d", &k);

	int index = 0;

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

		if (n % i == 0) { arr[index++] = i; }
		
	}

	if (k <= 100) {
		printf("%d", arr[k - 1]);
	}
	else
	{
		printf("0");
	}


	return 0;
}

 

Java(2023.01.16)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        
		//자연수 N의 모든 약수를 오름차순으로 담을 배열 arr을 선언
		//N의 최댓값이 10000이므로 약수의 개수는 최대 100개
		int arr[] = new int[100];
		
		Scanner sc= new Scanner (System.in);
		
		//N과 K의 값 읽어오기
		int n = sc.nextInt();
		int k = sc.nextInt();
		
		//1부터 N까지의 모든 수로 N을 나누며, 모든 약수를 작은 순서대로 기록
		int idx = 0;
		for(int i=1; i<=n; i++) {
			if(n%i==0) arr[idx++] = i;
		}
		
		if(k<=100) System.out.print(arr[k-1]);
		else System.out.print(0);
		
		sc.close();

	}

}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

#1049 : 기타줄  (0) 2023.01.18
#15649 : N과 M (1)  (0) 2023.01.18
#1918 : 후위 표기식  (0) 2023.01.11
#10971 : 외판원 순회 2  (0) 2022.11.29
#4436 : 엘프의 검  (0) 2022.11.22