약혼수는 약수의 합이 다른 숫자와 같은 두 숫자의 쌍입니다.
예를 들어, s(a) = b + 1이고 s(b) = a + 1인 경우 (a, b)는 약혼 숫자 쌍입니다. 여기서 s(b)는 b의 동일한 부분의 합입니다. 등가 조건은 σ (a) = σ(b) = a + b + 1입니다. 여기서 σ는 제수와 함수를 나타냅니다.
약혼 번호의 처음 몇 쌍은 (48, 75), (140, 195), (1050, 1925) ), (1575, 1648), (2024, 2295), (5775, 6128)입니다.
알려진 모든 약혼 숫자 쌍은 반대 패리티를 갖습니다. 동일한 패리티 번호 쌍은 1010을 초과해야 합니다.
Step 1: Find the sum of all divisors for both numbers. Step 2: Finally check if the sum of the divisors of number added by one is equal to the other number or not. Step 3: If yes, it is a Betrothed number and otherwise not.
Input:a = 48 b = 75 Output: 48 and 75 are Betrothed numbers
48의 약수: 1, 2, 3, 4, 6, 8, 12, 16, 24. 그 합은 76이다.
75의 약수: 1, 3, 5, 15, 25. 그 합은 49이다.
for 루프를 사용하여 1부터 a-1까지의 모든 숫자를 확인하세요.
숫자 a를 균등하게 나눌 수 있는지 확인한 다음 반복하세요. 그렇다면 이 숫자를 aDivisorSum에 추가하세요. 루프가 완료된 후 aDivisorSum에는 a의 모든 제수 합계가 포함됩니다.
마찬가지로 두 번째 숫자의 모든 약수의 합을 찾아 bDivisorSum에 저장합니다.
이제 한 숫자의 약수의 합이 다른 숫자와 같은지 확인하세요(더하기 1인지 아닌지). 그렇다면 두 숫자가 모두 계약 번호임을 인쇄체로 인쇄해 주세요. 그렇지 않으면 그렇지 않습니다.
라이브 시연
#include <stdio.h> int main() { int i; int a,b; int aDivisorSum = 0; int bDivisorSum = 0; a=48 ; b=75 ; for( i = 1; i < a; i++) { if(a % i == 0) { aDivisorSum = aDivisorSum + i; } } for( i = 1; i < b; i++) { if(b % i == 0) { bDivisorSum = bDivisorSum + i; } } if(( a+1== bDivisorSum) && (b+1 == aDivisorSum)) { printf("%d and %d are Betrothed numbers</p><p>",a,b); } else { printf("%d and %d are not Betrothed numbers</p><p>",a,b); } }
48 and 75 are not Betrothed numbers
위 내용은 C언어에서 예약번호는 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!