일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 문제출저:www.dovelet.com
- C
- 다중반복문
- 자료구조
- DBMS
- c언어
- 정보올림피아드
- 백도어
- IT
- Linux
- 독후감
- 제어문
- 반복문
- Backdoor
- 정보과학
- 독서 감상문
- if문
- 배열
- 알고리즘
- 리눅스
- 리눅스 명령어
- API
- C++
- 프로그래밍
- 풀이&소스코드저작권:왕유승
- 참조은요양병원
- 수학영재원
- 영재교육원
- 정보영재원
- For문
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] 3n+1 문제 본문
정수를 입력으로 받아,
풀이 : 문제의 조건대로 짝수면 2로 나누고 홀수면 3배해서 1을 더하는 루프를 코딩한다.
소스파일
-------------------------------------------------------------
------------------------------------------------------------
- 짝수이면 2 로 나누고 , 홀수이면 3 배해서 1 을 더함
- 1 이 될 때 까지 반복
6 이 입력으로 주어지면
6 3 10 5 16 8 4 2 1
입력
1000 이하의 자연수가 입력으로 주어진다.출력
공백 한자리로 수를 구분한다.입출력 예
입력 4 출력 4 2 1 입력 6 출력 6 3 10 5 16 8 4 2 1
풀이 : 문제의 조건대로 짝수면 2로 나누고 홀수면 3배해서 1을 더하는 루프를 코딩한다.
소스파일
-------------------------------------------------------------
01 |
#include <stdio.h> |
02 |
|
03 |
int main() |
04 |
{ |
05 |
int n; |
06 |
scanf ( "%d" ,&n); |
07 |
for (;;) |
08 |
{ |
09 |
printf ( "%d " ,n); |
10 |
if (n==1) |
11 |
break ; |
12 |
if ((n%2)==0) |
13 |
n=n/2; |
14 |
else if ((n%2)!=0) |
15 |
n=n*3+1; |
16 |
} |
17 |
} |
------------------------------------------------------------
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] 정보올림피아드 (0) | 2010.11.01 |
---|---|
[C언어 기출문제&풀이] 완전수 (0) | 2010.07.15 |
[C언어 기출문제&풀이] 약수 (0) | 2010.07.15 |
[C언어 기출문제&풀이] 가장 부지런한 농부 (0) | 2010.07.15 |
[C언어 기출문제&풀이] 은행이자 계산 (0) | 2010.07.15 |