반응형
[ 문제 ]
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.
예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다.
n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.
[ 코드 ]
using System.Text;
while (true)
{
List<int> arr = new List<int>();
StringBuilder sb = new StringBuilder();
int n = int.Parse(Console.ReadLine());
if (n == -1) break;
for (int i = 1; i < n; i++)
{
if(n % i == 0)
{
arr.Add(i);
if(i == arr.First())
{
sb.Append($"{n} = {i}");
}
else
{
sb.Append($" + {i}");
}
}
}
int sum = arr.Sum();
if(sum == n)
{
Console.WriteLine(sb);
}
else
{
Console.WriteLine($"{n} is NOT perfect.");
}
}
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/9506
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 2231번 분해합 (0) | 2024.02.11 |
---|---|
[C#] 백준 11653번 소인수분해 (0) | 2024.02.11 |
[C#] 백준 1259번 팰린드롬수 (0) | 2024.02.10 |
[C#] 백준 2501번 약수 구하기 (0) | 2024.02.10 |
[C#] 백준 5086번 배수와 약수 (0) | 2024.02.10 |