검색어 입력폼

[소스코드포함]완전수구하기

저작시기 2006.01 |등록일 2006.12.07 한글파일한글 (hwp) | 2페이지 | 가격 1,000원

소개글

완전수를 구하는 C 프로그램입니다.

본문내용

완전수란 : 자연수 a 중에서 a 이외의 양의 약수(1을 포함)의 합이 a와 같게 될 때의 a를 말하며 완수(完數)라고도 하는데 이를테면 6=1+2+3, 28=1+2+4+7+14이므로 6, 28은 완전수이다. 완전수라는 명칭은 유클리드가 명명한 것이며, 그의 기하학원본에는 ‘p>1일 때, 2P-1이 소수(素數)이면, a=2P-1*(2P-1)은 완전수이며,짝수의 완전수는 이와 같은 꼴의 자연수에 한한다’라고 기술되어 있다.

#include <stdio.h>
void main()
{
int sum, s_num, i, j, k; //sum:1부터 500까지의 숫자들의 약수를 저장, i,j,k:use for()

printf("** 1부터 500까지의 완전수 **\n");

for(i=2;i<=500;i++) { //숫자 2부터 500까지의 숫자의 약수를 구하기 위해
sum=0; //변수 sum을 0으로 초기화...
s_num=0; //다음 숫자의 약수 합을 저장위해

for(j=1;j<i;j++) { //1에서 500까지 숫자의 약수를 찾아 낸다.

if (!(i%j)) { //i와j를 나눈 나머지가 0이면 다음 문장 수행
sum+=j; //sum에 j값을 더한다.

if(sum==i) { //완전수와 각 약수를 구하기 위한 if()
printf("\n\n구해진 완전수 : %d", i);
다운로드 맨위로