Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C数値がその桁の合計で割り切れるかどうかをチェックするプログラム


数nが与えられた場合、その桁の合計が数nを除算するかどうかを確認する必要があります。調べるには、単位の場所から始まるすべての数値を合計してから、その数値を最終的な合計で割る必要があります。

数字が「521」であるように、その桁の合計が「5 + 2 + 1 =8」になるようにする必要がありますが、521は余りを残さずに8で割り切れません。

別の例「60」を見てみましょう。「6+0 =6」は60を除算でき、余りは残りません。

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

以下で使用されるアプローチは次のとおりです

この問題を解決するには、入力から各桁をフェッチし、数値の各桁の合計を見つけて、それが数値を除算しているかどうかを確認する必要があります。

  • 入力を取ります
  • を使用して単位の場所から各数値を取得し、最初はゼロであるはずの合計変数に追加します
  • 入力を数値の合計で割ります。
  • 結果を返します。

アルゴリズム

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 "

#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\n");
   else
      printf("no\n");
      return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

No

  1. Pythonで数値の奇数の桁の合計がKで割り切れるかどうかを確認します

    数nと別の数kがあるとすると、奇数の場所(右側から左側)のnの桁の合計がkで割り切れるかどうかを確認する必要があります。 したがって、入力がn =2416 k =5の場合、右から左への奇数の合計は4 + 6 =10であるため、出力はTrueになります。これは5で割り切れます。 これを解決するには、次の手順に従います- 合計:=0、位置:=1 0の場合、do posが奇数の場合、 合計:=合計+(n mod 10) n:=(n / 10)の商 pos:=pos + 1 合計がkで割り切れる場合、 Trueを返す Falseを返す 理解を深めるために、次の実装を

  2. Pythonで指定された数値のすべての桁の合計を見つけるプログラム

    数値がnumであるとすると、その桁の合計を見つける必要があります。文字列を使用せずに解決する必要があります。 したがって、入力がnum =512の場合、出力は8 =5 + 1+2になります。 8 =5 + 1 + 2であるため、tputは8になります。これを解決するには、次の手順に従います- sum:=0 numは0と同じではありませんが、 sum:=sum +(num mod 10) num:=num/10の商 合計を返す 理解を深めるために、次の実装を見てみましょう- 例 class Solution:    def solve(self, nu