반응형
두 수의 쌍이 있을 때, 각각의 수의 약수를 모두 더한 값이 서로 같으면 친화수입니다.
예를 들어, 220과 284는 친화수입니다. 220의 약수는 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110이며, 이들을 모두 더한 값은 284입니다. 284의 약수는 1, 2, 4, 71, 142이며, 이들을 모두 더한 값은 220입니다.
친화수의 예
220과 284
1184와 1210
2620과 2924
5020과 5564
6232와 6368
아래는 두 수를 입력받아 친화수인지 판별하는 C언어 코드입니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
// 두 수의 약수의 합을 구하는 함수
int get_divisor_sum(int num)
{
int sum = 0;
for (int i = 1; i < num; i++)
{
if (num % i == 0)
sum += i;
}
return sum;
}
// 두 수가 친화수인지 판별하는 함수
int is_amicable(int num1, int num2)
{
int sum1 = get_divisor_sum(num1);
int sum2 = get_divisor_sum(num2);
if (sum1 == num2 && sum2 == num1)
return 1;
else
return 0;
}
int main() {
int num1, num2;
printf("두 수를 입력하세요: ");
scanf("%d %d", &num1, &num2);
if (is_amicable(num1, num2))
printf("%d와 %d는 친화수입니다.\n", num1, num2);
else
printf("%d와 %d는 친화수가 아닙니다.\n", num1, num2);
return 0;
}
반응형
'C_C++' 카테고리의 다른 글
(C언어) BMI 체질량지수 계산하기 (0) | 2023.05.03 |
---|---|
산술평균 기하평균 조화평균을 구하는 C언어 코드 (0) | 2023.05.02 |
(C언어) 삽입 정렬 insertion sort (0) | 2023.04.29 |
(C언어) 피타고라스 정리: 직각삼각형의 세 변의 길이 구하기 (0) | 2023.04.26 |
(C언어) 이차방정식의 해: 실근 중근 허근 (0) | 2023.04.24 |