Maison > développement back-end > C++ > Programme C pour vérifier si un nombre est divisible par la somme de ses chiffres

Programme C pour vérifier si un nombre est divisible par la somme de ses chiffres

王林
Libérer: 2023-08-30 16:05:08
avant
1594 Les gens l'ont consulté

Programme C pour vérifier si un nombre est divisible par la somme de ses chiffres

Étant donné un nombre n, nous devons vérifier si la somme de ses chiffres est divisible par n. Pour le savoir, nous devons additionner tous les nombres en commençant par le chiffre des unités, puis diviser la somme finale par ce nombre.

Par exemple, nous avons un nombre "521", et nous devons trouver la somme de ses chiffres, c'est-à-dire "5 + 2 + 1 = 8", mais 521 ne peut pas être divisible par 8, et le reste ne l'est pas. 0.

Autre exemple, "60", la somme de ses chiffres est "6 + 0 = 6", 6 peut diviser 60, et le reste est 0.

Exemple

Input: 55
Output: No
Explanation: 5+5 = 10; 55 not divisible by 10
Input: 12
Output: Yes
Explanation: 1+2 = 3; 12 is divisible by 3
Copier après la connexion

La méthode utilisée ci-dessous est la suivante :

Pour résoudre ce problème, nous devons obtenir chaque nombre de l'entrée et calculer la somme de chaque nombre, puis vérifier s'il divise le nombre.

  • Obtenez l'entrée
  • Obtenez chaque nombre à partir du chiffre des unités et ajoutez-le à une variable de somme avec une valeur initiale de zéro
  • Divisez l'entrée par la somme des nombres
  • Renvoyez le résultat

Algorithme

In function int isDivisible(long int num)
   Step 1-> Declare and initialize temp = num, sum = 0
   Step 2-> Loop While num
      Declare and initialize k as num % 10
   Set sum as sum + k
      Set num as num / 10
   End Loop
   Step 3-> If temp % sum == 0 then,
      Return 1
   Step 4-> Return 0
      End function
In main()
   Step 1-> Declare and initialize num as 55
   Step 2-> If isDivisible(num) then,
      Print "yes "
   Step 3-> Else
Print "no "
Copier après la connexion

Exemple

Démonstration

#include <stdio.h>
// This function will check
// whether the given number is divisible
// by sum of its digits
int isDivisible(long int num) {
   long int temp = num;
   // Find sum of digits
   int sum = 0;
   while (num) {
      int k = num % 10;
      sum = sum + k;
      num = num / 10;
   }
   // check if sum of digits divides num
   if (temp % sum == 0)
      return 1;
      return 0;
}
int main() {
   long int num = 55;
   if(isDivisible(num))
      printf("yes</p><p>");
   else
      printf("no</p><p>");
      return 0;
}
Copier après la connexion

Sortie

Si vous exécutez le code ci-dessus, la sortie suivante sera générée −

No
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