目次
アルゴリズム
ホームページ バックエンド開発 C++ 強い数値をチェックする C プログラム

強い数値をチェックする C プログラム

Sep 07, 2023 am 09:09 AM
Cプログラム 診る 強い数字

強い数値をチェックする C プログラム

数値「n」が与えられた場合、その数値が強い数値であるかどうかを確認する必要があります。

強い数値とは、そのすべての数値の階乗の合計が数値「n」に等しいことを意味します。階乗は、その数値を含む、その数値より小さいすべての数値を乗算した結果であり、! (感嘆符) で表されます。例: 4! = 4x​​3x2x1 = 24。

したがって、数値が強い数値であるかどうかを判断するには、数値の各桁を抽出する必要があります。たとえば、数値が 145 の場合、1、4、5 を抽出し、次に計算します。各数値の階乗、つまり 1! = 1、4! = 24,5! =120。

ここで 1 24 120 を加算すると、指定された入力とまったく同じ 145 が得られるため、この数値は強力であると言えます。

Input: n = 124
Output: No it is not a strong number
Explanation: 1! + 2! + 4! = 27 which is not equal to n i.e, 124
Input: n = 145
Output: Yes it is a strong number
Explanation: 1! + 4! + 5! = 145
ログイン後にコピー

問題を解決するために使用される方法は次のとおりです -

私たちは -

  • します1 の位置から各数値を取り出して、その階乗を求めます。
  • これらの数値の階乗を加算します。
  • 結果を元の数値と比較し、等しい場合、その数値は強い数値であり、そうでない場合、その数値は強い数値ではありません。

アルゴリズム

START
In Function int factorial(int r)
   Step1 -> Initialize int fact and set as 1
   Step2-> Loop while r>1
      Set fact as fact * r
      Decremnet r by 1
   End Loop
   Step 3-> Return fact
   End Function factorial
In Function int check(int n)
   Step 1-> Initialize int temp, rem and result, set result as 0
   Step 2-> Set temp as n
   Step 3-> Loop while temp
      Set rem as temp % 10
      Set result as result + factorial(rem)
      Set temp as temp/10
   End loop
   Step 4-> If result == n then,
      Return 1
   Step 5-> Else
   Return 0
   End function check
In main(int argc, char const *argv[])
   Step 1-> Initialise and set n as 145
   Step 2->If check(n) is valid then,
      Print "Yes it is a strong number”
   Step 3-> Else
      Print "no it is not a strong number”
STOP
ログイン後にコピー

リアルタイム デモンストレーション

#include <stdio.h>
int factorial(int r) {
   int fact = 1;
   while(r>1) {
      fact = fact * r;
      r--;
   }
   return fact;
}
int check(int n) {
   int temp, rem, result = 0;
   temp = n;
   while(temp) {
      rem = temp % 10;
      result = result + factorial(rem);
      temp = temp/10;
   }
   if (result == n)
      return 1;
   else
      return 0;
}
int main(int argc, char const *argv[]) {
   int n = 145;
   if (check(n))
      printf("Yes it is a strong number</p><p>");
   else
      printf("no it is not a strong number</p><p>");
   return 0;
}
ログイン後にコピー

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

rreeee

以上が強い数値をチェックする C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム 以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム Sep 05, 2023 pm 09:53 PM

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム

Teams でスペルチェックが機能しない [修正済み] Teams でスペルチェックが機能しない [修正済み] Mar 06, 2024 am 09:10 AM

Teams でスペルチェックが機能しない [修正済み]

Windows 11 で SSD の健康状態を確認するにはどうすればよいですか? Win11でSSDの健康状態を確認する方法 Windows 11 で SSD の健康状態を確認するにはどうすればよいですか? Win11でSSDの健康状態を確認する方法 Feb 14, 2024 pm 08:21 PM

Windows 11 で SSD の健康状態を確認するにはどうすればよいですか? Win11でSSDの健康状態を確認する方法

指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム 指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム Sep 17, 2023 am 10:49 AM

指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム

リンクリストの長さを求めるCプログラム リンクリストの長さを求めるCプログラム Sep 07, 2023 pm 07:33 PM

リンクリストの長さを求めるCプログラム

辞書を印刷する C++ プログラム 辞書を印刷する C++ プログラム Sep 11, 2023 am 10:33 AM

辞書を印刷する C++ プログラム

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか? Mar 12, 2024 pm 09:42 PM

Golang で文字列が特定の文字で始まるかどうかを確認するにはどうすればよいですか?

C プログラムは rename() 関数を使用してファイル名を変更します C プログラムは rename() 関数を使用してファイル名を変更します Sep 21, 2023 pm 10:01 PM

C プログラムは rename() 関数を使用してファイル名を変更します

See all articles