목차

 

 


 

 

[백준 9506번 C/C++] 약수들의 합

https://www.acmicpc.net/problem/9506

 

9506번: 약수들의 합

어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.

www.acmicpc.net


 

코드

 

#include<stdio.h>
using namespace std;	

int main()
{
	int n, x, sum=1;
	
	while(true)
	{
		scanf("%d", &n);
		int a[n];
		
		if(n==-1) break;
		
		for(int i=2; i<n; i++)
		{
			if(n%i==0) 
			{
				sum += i;
				a[x++]=i;
			} 
		}
		
		if(sum==n) 
		{
			printf("%d = 1", n);
			for(int i=0; i<x; i++)
			{
				printf(" + %d", a[i]);
			}
			printf("\n");
		}
		else printf("%d is NOT perfect.\n", n);
		
		sum=1;
		x=0;
	}

	return 0;
}

'⭐ 코딩테스트 > 백준' 카테고리의 다른 글

[백준 1010번] 다리 놓기  (0) 2023.04.27
[백준 2581번 C/C++] 소수  (0) 2023.04.26
[백준 5086번 C/C++] 배수와 약수  (0) 2023.04.24
[백준 2292번 C/C++] 벌집  (0) 2023.04.22
[백준 11005번 C/C++] 진법 변환 2  (0) 2023.04.21