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

与えられた数を見つけるためのCプログラムは強いかどうか


強い数とは、桁の階乗の合計が数自体に等しい数です。

  • 123!=1!+2!+3!

=1 + 2 + 6 =9

ここで、123は、桁の階乗の合計が数値自体と等しくないため、強い数値ではありません。

  • 145!=1!+4!+5!

=1 + 24 + 120

=145

ここで、桁の階乗の合計は数値自体に等しいため、145は強い数値です。

指定された数値が強いかどうかを見つけるために使用するロジック 次のとおりです-

while(n){
   i = 1,fact = 1;
   rem = n % 10;
   while(i <= rem){
      fact = fact * i;
      i++;
   }
   sum = sum + fact;
   n = n / 10;
}
if(sum == temp)
   printf("%d is a strong number\n",temp);
else
   printf("%d is not a strong number\n",temp);

プログラム

以下は、与えられた数が強いかどうかを調べるためのCプログラムです-

#include<stdio.h>
int main(){
   int n,i;
   int fact,rem;
   printf("\nEnter a number : ");
   scanf("%d",&n);
   printf("\n");
   int sum = 0;
   int temp = n;
   while(n){
      i = 1,fact = 1;
      rem = n % 10;
      while(i <= rem){
         fact = fact * i;
         i++;
      }
      sum = sum + fact;
      n = n / 10;
   }
   if(sum == temp)
      printf("%d is a strong number\n",temp);
   else
      printf("%d is not a strong number\n",temp);
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

Run 1:
Enter a number : 145
145 is a strong number
Run 2:
Enter a number : 25
25 is not a strong number

  1. Pythonで指定された数のビット1の数を見つけるプログラム

    数nがあるとすると、その数のバイナリ表現に存在するビット1の数を見つける必要があります。 したがって、入力が12のような場合、出力は2になります これを解決するには、次の手順に従います- count:=0 nがゼロ以外の場合は、 count:=count +(n AND 1) n:=(n / 2)のフロア 返品数 理解を深めるために、次の実装を見てみましょう- 例 class Solution:    def solve(self, n):       count = 0       whi

  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