Maison > développement back-end > C++ > le corps du texte

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

PHPz
Libérer: 2023-08-26 15:49:08
avant
860 Les gens l'ont consulté

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.
Copier après la connexion

Input:a = 48 b = 75
Output:
48 and 75 are Betrothed numbers
Copier après la connexion

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);
   }
}
Copier après la connexion

Sortie

48 and 75 are not Betrothed numbers
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal