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

アームストロング数のためのCプログラム


アームストロングかどうかに関係なく、ユーザーが入力した数字nを確認する必要があるタスクが与えられます。

アームストロング数は、すべての桁の合計が桁数で累乗される場合、または桁の順序nと言うことができる場合、桁と同じです。

以下は、アームストロング数を見つける方法の簡単な表現です-

アームストロング数のためのCプログラム

数式-

wxyz…. = pow(w, n) +pow(x, n) + pow(y, n) + pow(z, n) + …..

アルゴリズム

START
Step 1-> Declare a function to find the value after power operation on the number
   int power(int a, int b)
      Loop while b>0
         Assign power =power * a
         Decrement b by 1
      End loop
      Return power
End
Step 2-> Declare a function to count the order of a number
   int count(int n)
      Declare and set i as 0
      Loop while n!=0
         Increment i by 1
         Divide n/10 and store back in n
      End loop
   Return i
End
Step 3-> Declare a function to check number is prime or not
   int armstrong(int n)
      Declare x and call function count(n) and assign the result to x
      Declare rem = 0 and m=0 set with zero
      Loop While n
         Set rem = n %10
         Set m = m + power(rem, x)
         Set n as n/ 10
      End Loop
   Return m;
End
Step 4-> Declare main
   int main(int argc, char const *argv[])
      Declare and set n = 1634
      Call function Armstrong and check if the value is equal
         Print “it is armstrong number
      End if
      Else
         Print number isn't an armstrong number
   End
STOP

#include <stdio.h>
int power(int a, int b){
   int power =1;
   while(b>0){
      power *= a;
      b--;
   }
   return power;
}
int count(int n){
   int i=0;
   while(n!=0){
      i++;
      n = n/10;
   }
   return i;
}
int armstrong(int n){
   int x = count(n);
   int rem = 0, m=0;
   while(n){
      rem = n %10;
      m += power(rem, x);
      n /= 10;
   }
   return m;
}
int main(int argc, char const *argv[]){
   int n = 1634;
   if(n == armstrong(n)){
      printf("%d is an armstrong number \n",n);
   }
   else
      printf("%d isn't an armstrong number \n",n);
   return 0;
}

出力

1634 is an armstrong number

  1. C最初のn個の自然数の立方和のプログラム?

    この問題では、最初のn個の自然数の立方体の合計を取得する方法を確認します。ここでは、1からnまで実行されるforループを使用しています。各ステップで、項の3乗を計算し、それを合計に追加します。このプログラムは、完了するまでにO(n)時間かかります。しかし、これをO(1)または一定時間で解きたい場合は、この級数式-を使用できます。 アルゴリズム cubeNNatural(n) begin    sum := 0    for i in range 1 to n, do       sum := sum + i^3 &n

  2. フィボナッチ数のPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −n番目のフィボナッチ数を計算するタスク。 フィボナッチ数のシーケンスFnは、以下に示す漸化式によって与えられます。 Fn =Fn-1 + Fn-2 シード値付き(標準) F0=0およびF1=1。 この問題には2つの解決策があります 再帰的アプローチ 動的アプローチ アプローチ1-再帰的アプローチ 例 #recursive approach def Fibonacci(n):    if n<0:       pri