일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 참조은요양병원
- 배열
- Linux
- c언어
- API
- 백도어
- 문제출저:www.dovelet.com
- C
- if문
- 독후감
- 독서 감상문
- 제어문
- 다중반복문
- 프로그래밍
- 수학영재원
- DBMS
- 리눅스
- 알고리즘
- 반복문
- 풀이&소스코드저작권:왕유승
- 정보영재원
- 자료구조
- IT
- For문
- 리눅스 명령어
- 정보과학
- Backdoor
- 영재교육원
- C++
- 정보올림피아드
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] 완전수 본문
완전수란 자신을 제외한 약수의 합이 자신이 되는 수를 완전수라 한다.
풀이
먼저 받은 값의 약수를 구하는 함수를 코딩 한 다음 그 약수들을 배열에 정렬한 다음 더하거나 약수를 구할 때 마다 일정한 변수에 누적하여 자신의 출력하게 하면 된다. 약수를 구하는 함수(n 이라 칭함) 는 1부터 자신의 수 까지 도는 변수를 지정(i라 칭함) 하고 루프를 돌면서 i%n==0 인 조건을 만족하는지 살펴본다.
소스파일
-----------------------------------------------------
------------------------------------------------------------
6 은 완전수이다. 6 의 약수는
이 중 자신을 제외한 약수의 합 1 + 2 + 3 = 6 즉 6 은 완전수이다.1 2 3 6
입력
1000 이하의 자연수를 입력받는다.출력
완전수이면 yes , 아니면 no 를 출력한다.입출력 예
입력 6 출력 yes 입력 8 출력 no
풀이
먼저 받은 값의 약수를 구하는 함수를 코딩 한 다음 그 약수들을 배열에 정렬한 다음 더하거나 약수를 구할 때 마다 일정한 변수에 누적하여 자신의 출력하게 하면 된다. 약수를 구하는 함수(n 이라 칭함) 는 1부터 자신의 수 까지 도는 변수를 지정(i라 칭함) 하고 루프를 돌면서 i%n==0 인 조건을 만족하는지 살펴본다.
소스파일
-----------------------------------------------------
01 |
#include <stdio.h> |
02 |
|
03 |
int main() |
04 |
{ |
05 |
int n,i,sum=0,p=0; |
06 |
scanf ( "%d" ,&n); |
07 |
for (i=n-1; i>0; i--) |
08 |
{ |
09 |
if (n % i == 0) |
10 |
{ |
11 |
sum += i; |
12 |
} |
13 |
} |
14 |
if ( sum == n ) |
15 |
printf ( "yes" ); |
16 |
else |
17 |
printf ( "no" ); |
18 |
return 0; |
19 |
} |
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] 정보올림피아드 (0) | 2010.11.01 |
---|---|
[C언어 기출문제&풀이] 정보올림피아드 (0) | 2010.11.01 |
[C언어 기출문제&풀이] 3n+1 문제 (0) | 2010.07.15 |
[C언어 기출문제&풀이] 약수 (0) | 2010.07.15 |
[C언어 기출문제&풀이] 가장 부지런한 농부 (0) | 2010.07.15 |