여기서 우리는 Aliquot 합계가 무엇인지 볼 것입니다. n의 부분 표본 합은 n을 제외한 n의 모든 완전 인수의 합입니다. 예를 들어 숫자가 20이면 완전 인수는 (1, 2, 4, 5, 10)입니다. 따라서 Aliquot의 합계는 22입니다.
한 가지 흥미로운 사실은 숫자의 Aliquot 합계가 숫자 자체인 경우 해당 숫자는 완전한 숫자라는 것입니다. 예:6. 요인은 (1, 2, 3)입니다. 부분 표본 합계는 1+2+3=6입니다.
다음 알고리즘을 사용하여 Aliquot 합계를 얻는 방법을 살펴보겠습니다.
알고리즘
getAliquotSum(n)
begin sum := 0 for i in range 1 to n, do if n is divisible by i, then sum := sum + i end if done return sum. end
예시
#include <iostream> using namespace std; int getAliquotSum(int n) { int sum = 0; for(int i = 1; i<n; i++) { if(n %i ==0) { sum += i; } } return sum; } int main() { int n; cout << "Enter a number to get Aliquot sum: "; cin >> n; cout << "The Aliquot sum of " << n << " is " << getAliquotSum(n); }
출력
Enter a number to get Aliquot sum: 20 The Aliquot sum of 20 is 22