본문 바로가기

알고리즘3

#010 소인수분해 #문제) 자연수 N을 입력받아 소인수 분해하여 그 결과를 출력하는 알고리즘을 제시하라. - 입력받은 정수 N이 2보다 작으면 알고리즘을 종료한다. - 입력받은 정수 N이 소수이면 '소수'라고 출력한다. - 입력받은 정수 N이 소수가 아니면 소인수 분해한 결과를 출력한다. - 132는 2 X 2 X 3 X 11 과 같이 소인수 분해된다. - 다양한 입력별 알고리즘의 실행 예시는 다음과 같다. 입력: 132 -> 출력: "2*2*3*11" 입력: 37 -> 출력: "소수" 입력: 20 -> 출력: "2*2*5" 입력: 0 -> 알고리즘 종료 소인수분해 할 결과를 저장 해야 하기 때문에 스택 사용이 필요하다. 그럼, 소인수분해 규칙을 살펴보자 먼저, 2부터 시작하여 N값을 %연산을 했을때 결과가 0인 경우, .. 2017. 7. 12.
#009 소수 판별 #문제) 1부터 100까지 숫자 중에서 가장 큰 소수를 반환하여라 ex) 2, 3, 5, 7, 11, 13, 17 … 규칙성) 2부터 시작하여 n까지 반복하면서 증가되는 숫자보다 작은수를 %연산하여 결과가 0이 하나라도 나오면 자연수로 판단한다. *여기서 작은 수란? 자신과 1을 제외한 수 여기 문제에서는 가장 큰 소수를 반복하라 하였으니 100부터 시작하면 더 빠르게 구할 수 있다. package dataStructure.prediction.problem; import java.util.LinkedList; import java.util.List; public class PrimeNumber { private List array = new LinkedList(); public PrimeNumber() .. 2017. 7. 12.
#001 기본 수열 구하기 문제) 1 부터 100까지의 수를 구하여라 package dataStructure.prediction; public class SequenceSum { public static void main(String[] args) { // TODO Auto-generated method stub int sum = 0; for(int i=1; i 2017. 7. 10.