C言語で階乗を実装する方法

藏色散人
藏色散人オリジナル
2020-05-12 11:50:1336979ブラウズ

C言語で階乗を実装する方法

#C 言語で階乗を実装する方法

キーボードから数値を入力し、この数値の階乗を求めます、それはn!です。

アルゴリズム思考

まず、階乗の定義を明確にしておく必要があります。いわゆる n の階乗とは、1 から開始して数値を掛けることを意味します。これは、前の数値より 1 大きい値 ( n まで) で、次の式で表されます: 1×2×3×4×…×(n-2)×(n-1)×n=n!

特定操作: ループを使用して問題を解決し、ループ変数を i に設定し、初期値は 1、i は 1 から n に変化します。i と合計を順番に乗算し、その積を合計に代入します。

① 変数 sum を定義し、初期値 1 を割り当てます。

② i が 1 増加します。

③ i が n を超えるまで。

プログラム コード

#include <stdio.h>
int main()
{
    int i,n;
    double sum=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        sum=sum*i;
    printf("%d!=%lf",n,sum);
    printf("\n");
    return 0;
}

デバッグ操作結果

入力 5、対応する階乗出力は次のとおりです;

5
5!=120.000000

入力 20、対応する階乗出力状況は次のとおりです。

20
20!=2432902008176640000.000000

概要

① 階乗は一般に大きいため、整数または長整数で表現できる範囲を超えるため、変数を定義します使用する場合、整数として定義することはできませんが、倍精度数値を考慮する必要があります。

② トレーニング中に、結果を保存するために倍精度変数が定義されました。したがって、出力する場合は倍精度数値の出力形式に注意する必要があります。

推奨チュートリアル:

c 言語チュートリアル

以上がC言語で階乗を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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