Heim >Backend-Entwicklung >C++ >C-Programm zur Prüfung, ob eine Zahl durch die Summe ihrer Ziffern teilbar ist

C-Programm zur Prüfung, ob eine Zahl durch die Summe ihrer Ziffern teilbar ist

王林
王林nach vorne
2023-08-30 16:05:081601Durchsuche

C-Programm zur Prüfung, ob eine Zahl durch die Summe ihrer Ziffern teilbar ist

Gegeben eine Zahl n, müssen wir prüfen, ob die Summe ihrer Ziffern durch n teilbar ist. Um das herauszufinden, müssen wir alle Zahlen beginnend mit der Einerstelle addieren und dann die Endsumme durch diese Zahl dividieren.

Zum Beispiel haben wir eine Zahl „521“ und müssen die Summe ihrer Ziffern ermitteln, also „5 + 2 + 1 = 8“, aber 521 kann nicht durch 8 teilbar sein, und der Rest ist es nicht 0.

Ein weiteres Beispiel, „60“, die Summe seiner Ziffern ist „6 + 0 = 6“, 6 kann 60 teilen und der Rest ist 0.

Beispiel

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

Die unten verwendete Methode ist wie folgt:

Um dieses Problem zu lösen, müssen wir jede Zahl aus der Eingabe erhalten, die Summe jeder Zahl berechnen und dann prüfen, ob sie die Zahl teilt.

  • Holen Sie sich die Eingabe
  • Holen Sie sich jede Zahl beginnend mit der Einerstelle und addieren Sie sie zu einer Summenvariablen mit einem Anfangswert von Null
  • Teilen Sie die Eingabe durch die Summe der Zahlen
  • Geben Sie das Ergebnis zurück

Algorithmus

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 "

Beispiel

Demonstration

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

Ausgabe

Wenn Sie den obigen Code ausführen, wird die folgende Ausgabe generiert –

No

Das obige ist der detaillierte Inhalt vonC-Programm zur Prüfung, ob eine Zahl durch die Summe ihrer Ziffern teilbar ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen