Maison  >  Article  >  développement back-end  >  En langage C, que signifie le numéro réservé ?

En langage C, que signifie le numéro réservé ?

PHPz
PHPzavant
2023-08-26 15:49:08869parcourir

En langage C, que signifie le numéro réservé ?

Un numéro de fiançailles est une paire de deux nombres dont la somme des diviseurs est égale à un autre nombre.

Par exemple, (a, b) est une paire de nombres de fiançailles, si s(a) = b + 1 et s(b) = a + 1, où s(b) est la somme des parties égales de b : la condition équivalente est σ (a) = σ(b) = a + b + 1, où σ représente le diviseur et la fonction.

Les premières paires de numéros de fiançailles sont : (48, 75), (140, 195), (1050, 1925) ), (1575, 1648), (2024, 2295), (5775, 6128).

Toutes les paires connues de numéros de fiançailles ont une parité opposée. Toute paire de numéros de parité identiques doit dépasser 1010.

Algorithme

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

Explication

Diviseurs de 48 : 1, 2, 3, 4, 6, 8, 12, 16, 24. Leur somme est de 76. Diviseurs de

75 : 1, 3, 5, 15, 25. Leur somme est 49.

Utilisez une boucle for et vérifiez chaque nombre de 1 à a-1.

Vérifiez si le nombre a peut être divisé uniformément, puis bouclez. Si tel est le cas, ajoutez ce numéro à aDivisorSum. Une fois la boucle terminée, aDivisorSum contient la somme de tous les diviseurs de a.

De même, trouvez la somme de tous les diviseurs du deuxième nombre et enregistrez-la dans bDivisorSum.

Vérifiez maintenant si la somme des diviseurs d'un nombre est égale à un autre nombre (qu'il soit plus un ou non). Si oui, veuillez imprimer que les deux numéros sont des numéros de fiançailles. Sinon, ce n'est pas le cas.

Exemple

Démonstration en direct

#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);
   }
}

Sortie

48 and 75 are not Betrothed numbers

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer