완전수(Perfect Number)란? 그리고 C/Java 코드로 찾기

2025. 7. 16. 10:57·나의 지식 공유

 

1. 완전수란?

완전수는 자기 자신을 제외한 약수들의 합이 자기 자신과 같은 자연수입니다.

  • 6의 약수: 1, 2, 3, 6 → 1 + 2 + 3 = 6 → 완전수
  • 28의 약수: 1, 2, 4, 7, 14, 28 → 1 + 2 + 4 + 7 + 14 = 28 → 완전수

알려진 완전수는 6, 28, 496, 8128 등이 있습니다.

 


 

2. C 언어로 완전수 찾기

#include <stdio.h>

int main() {
    int s, el = 0;  // s: 약수 합, el: 완전수 개수

    for (int i = 6; i <= 30; i++) {
        s = 0;
        for (int j = 1; j <= i / 2; j++) {
            if (i % j == 0) {
                s += j;
            }
        }
        if (s == i) {
            el++;
        }
    }
    printf("6부터 30 사이 완전수 개수: %d\n", el);
    return 0;
}

실행 결과

6부터 30 사이 완전수 개수: 2

 


 

3. Java로 완전수 찾기

public class PerfectNumber {
    public static void main(String[] args) {
        int count = 0;

        for (int i = 6; i <= 30; i++) {
            int sum = 0;
            for (int j = 1; j <= i / 2; j++) {
                if (i % j == 0) {
                    sum += j;
                }
            }
            if (sum == i) {
                count++;
            }
        }
        System.out.println("6부터 30 사이 완전수 개수: " + count);
    }
}

실행 결과

6부터 30 사이 완전수 개수: 2

 

'나의 지식 공유' 카테고리의 다른 글

멀티테넌시(Multi-tenancy)란?  (0) 2026.07.28
비트 연산자  (0) 2025.10.15
도메인이란? 각 영역에서의 '도메인' 이란 단어의 개념과 뜻 정의  (1) 2025.07.07
'나의 지식 공유' 카테고리의 다른 글
  • 멀티테넌시(Multi-tenancy)란?
  • 비트 연산자
  • 도메인이란? 각 영역에서의 '도메인' 이란 단어의 개념과 뜻 정의
JK-LEE98
JK-LEE98
백엔드 개발자
  • JK-LEE98
    JK-LEE98
    JK-LEE98
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 나의 지식 공유 (4)
      • SQL (4)
      • PS (10)
      • BackEnd (32)
        • Java (3)
        • Spring (4)
        • 내일배움캠프 (20)
        • 프로그래머스 데브코스 (5)
      • 건강한 나 되기🍀 (10)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
JK-LEE98
완전수(Perfect Number)란? 그리고 C/Java 코드로 찾기
상단으로

티스토리툴바