ホームページ  >  記事  >  バックエンド開発  >  数値が桁の合計で割り切れるかどうかを確認する C プログラム

数値が桁の合計で割り切れるかどうかを確認する C プログラム

王林
王林転載
2023-08-30 16:05:081505ブラウズ

数値が桁の合計で割り切れるかどうかを確認する C プログラム

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

たとえば、「521」という数字があり、その桁の合計、つまり「5 2 1 = 8」を求める必要がありますが、521 を 8 で割ることはできません。 0ではありません。

別の例「60」の場合、その桁の合計は「6 0 = 6」となり、6 は 60 で割ることができ、余りは 0 になります。

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

以下で使用されるメソッドは次のとおりです:

この問題を解決するには、入力から各数値を取得し、計算 各数値を合計し、数値が除算されるかどうかを確認します。

  • 入力を取得します
  • 1 の位から始まる各数値を取得し、それを初期値 0 の合計変数に追加します
  • 合計を使用します数値 入力による除算
  • 結果を返す

アルゴリズム

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</p><p>");
   else
      printf("no</p><p>");
      return 0;
}

出力

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

No

以上が数値が桁の合計で割り切れるかどうかを確認する C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。