일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 문제출저:www.dovelet.com
- Backdoor
- API
- 알고리즘
- 독서 감상문
- 리눅스 명령어
- IT
- 풀이&소스코드저작권:왕유승
- 정보과학
- For문
- C++
- 프로그래밍
- 다중반복문
- 반복문
- 배열
- 수학영재원
- 참조은요양병원
- C
- c언어
- 자료구조
- 제어문
- 영재교육원
- DBMS
- 정보올림피아드
- 백도어
- 정보영재원
- 독후감
- 리눅스
- if문
- Linux
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] dfact(여기부터 소스코드 미기입) 본문
프로그램 명: dfact
제한시간: 1 초
145 는 재미있는 성질을 가지는 수이다.145 = 1! + 4! + 5! = 1 + 24 + 120 = 145n! = n * (n-1) * (n-2) * ... * 1 을 의미하고 0! = 1 로 약속되어 있다.
두 자리수 이상 1000000 이하인 수에서 이런 성질을 가지는 모든 수를 출력하는 것이 문제이다.
입력
입력은 없다.출력
한 줄에 하나씩 출력한다.입출력 예
입력 출력 145 ...
참조:projecteuler.net
풀이 :
먼저 숫자를 개별로 나누는 방법을 생각해본다.
1.%연산자를 이용하여 각 자리값을 10의 제곱수로 나눠준다.
2.구하고 싶은 수의 아랫자리 수는 모두 빼준다.
3.자릿수 만큼 10을 나눠준다.
이렇게 하면 일단 자릿수대로 나눠진다. 그럼 이제
4.각각 수대로 팩토리얼을 구한다.
5.팩토리얼과 원래의 수를 비교하여 답을 출력한다.
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] 최소 위치 출력 (0) | 2011.08.11 |
---|---|
[C언어 기출문제&풀이] 건초경비(hay) (0) | 2011.08.11 |
[C언어 기출문제&풀이] 축구 심판 (0) | 2011.07.29 |
[C언어 기출문제&풀이] 베이비 긴 (0) | 2011.07.29 |
[C언어 기출문제&풀이] 일곱 난장이 (0) | 2011.07.29 |