1부터 숫자들을 곱하면 최초로 7000을 넘는 정수와 곱한 수는 얼마인가 ?
1부터 숫자들을 곱하면 최초로 7000을 넘는 정수와 곱한 수는 얼마인가 ?(1*2*…*? > 7000).
6-1. 해법 정리
1)
7000이 넘는 수를 저장할 변수 a 선언
2)
1)
과정에서 곱한 수를 알아차릴 변수 i 선언
3)
1부터 100까지 증가하는 반복문 동작
4)
3)
반복문 안에서 a에 i를 곱한 값을 저장
5)
3)
반복문 안에서 a가 7000 이상이 되는지 검사해서 True 이면 빠져 나옴
6)
결과값 출력
6-2. 풀이 과정
해법 정리에 나온대로, a와 i를 각각 1로 초기화 해서 반복문 안에서 일단 순열의 곱(1*2*3*4*5*…n)을 만든 뒤 7000이상이 되면 멈추도록 설계했습니다.
6-3. 소스 코드
6-4. 실행 화면
6-5. 시행 착오
처음에 7000이라는 숫자를 만들어 내기 위해 어떻게 하면 해당 번째 숫자를 잡아낼 수 있을지 고민하는 데 시간을 많이 소모했습니다.
처음에는 초기값 1을 두고 2부터 곱해서 결과를 보려고 했습니다. 하지만 이렇게 하면 어느 지점에서 7000 이상이 되었는지 확인하기가 어려웠습니다.
'프로그래밍 실습 > 자바(Java)' 카테고리의 다른 글
| Math 클래스의 메소드들을 조사하고 다음 메소드 5개에 대하여 예제 프로그램을 작성하고 결과를 보여라. (0) | 2010.05.13 |
|---|---|
| 숫자 873의 약수를 모두 구하라. 모두 합하면 얼마이며, 또한 그들의 평균은 얼마인가 ? (0) | 2010.05.13 |
| 10자리의 정수를 입력받아서, 각 자리수가 짝수인 경우와 홀수인 경우, 그리고 0인 경우를 헤아려서 표시하라 (0) | 2010.05.13 |
| Scanner객체를 이용하여 3개의 숫자를 입력 받아서 최대값과 최소값을 구하고 평균값과의 차이를 구하는 프로그램을 작성하여라. (0) | 2010.05.13 |
| 1부터 100까지 3의 배수만을 더하는 프로그램을 작성하라. 단, 9의 배수는 더 하지 않는다. (0) | 2010.05.13 |
