Notice
Recent Posts
Recent Comments
Link
투케이2K
20. (java/자바) 알고리즘 : 소인수분해 - for문과 while문 사용해 소인수분해 실시 본문
/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : Eclipse
개발 언어 : Java
/* =========================== */
/* =========================== */
[소스 코드]
package Al;
import java.util.ArrayList;
public class MainActivity6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("[소인수분해 - for문과 while문 사용해 소인수분해 실시]");
//소인수분해를 하기 위한 초기 변수 선언
int data = 135;
//소인수분해한 결과를 담기위한 배열 선언
ArrayList list = new ArrayList();
/*[설 명]
* 1. 소인수분해란 ? 어떤 자연수를 소수의 곱으로 나타내는 것을 소인수로 분해라고합니다
* 2. 소수란 ? 약수가 1과 자기 자신 뿐인 1보다 큰 자연수이다
*/
for(int i=2; i<=135; i++) { //소수는 2부터 시작한다
while (data % i == 0) { //while 문은 특정 조건이 만족할때 까지 계속 수행을한다
list.add(i); //data % i값이 0으로 나누어떨어질경우 배열에 데이터를 담는다
data = data/i; //data 변수 값을 새로 정의한다 -> 다시 while문 수행 (조건 검사)
}
}
System.out.println("소인수 분해 결과 : "+list.toString());
}//메인 종료
}//클래스 종료
/* =========================== */
[결과 출력]
[소인수분해 - for문과 while문 사용해 소인수분해 실시]
소인수 분해 결과 : [3, 3, 3, 5]
/* =========================== */
/* =========================== */
[요약 설명]
* 1. 소인수분해란 ? 어떤 자연수를 소수의 곱으로 나타내는 것을 소인수로 분해라고합니다
* 2. 소수란 ? 약수가 1과 자기 자신 뿐인 1보다 큰 자연수이다
* 3. while 문은 특정 조건이 만족할때 까지 계속 수행을한다
* 4. data % i값이 0으로 나누어떨어질 경우 배열에 데이터를 담는다
/* =========================== */
반응형
'Java' 카테고리의 다른 글
22. (java/자바) 알고리즘 : 약수구하기 - for문 사용해서 약수구하기 실시 (0) | 2020.12.29 |
---|---|
21. (java/자바) ArrayList contains, indexOf - 배열에 특정 값 포함 여부 확인 및 위치 확인 (0) | 2020.12.28 |
19. (java/자바) 알고리즘 : 소수구하기 - 이중 for문을 사용해 1부터 10까지 소수구하기 (0) | 2020.12.28 |
18. (java/자바) 최소값(min), 최대값(max) - Arrays.stream 사용해 최소값(min), 최대값(max) 구하기 (0) | 2020.12.28 |
17. (java/자바) 알고리즘 : 삼각형 별찍기 - 이중 for문을 사용해서 삼각형 모양 별찍기 실시 (0) | 2020.12.28 |
Comments