階乗の場合は1を返し0を返します

ジェームスT

コードの一般的な説明が必要です:

ケース1)

この階乗関数では、numが0の場合、0 !、つまり1を返しますか?

ケース2)数値が1より大きい場合return fact、それは階乗値ですか?

私はそれを理解してreturn 1おり、return 0両方とも結果の生成を成功させるためのものです。

では、なぜこの場合は0を返すことができないのですか?

double factorial(int num)
    {
        int fact = 1;
        int i = 1;
        if (num == 0)
            return 1;
        else
            while (num >= i)
            {
                fact = fact*i;
                i++;
            }
        return fact;
D.ハリシーサン
#include <iostream>

using namespace std;

int factorial(int num)              //I changed this to return int since you are taking int and int*int will always be int
    {
        int fact = 1;             
        //int i = 1;                //dont need this
        if (num == 0)
            return fact;            //You can just say return `fact` or `return 1` - i like to make my code readable - s I used `return fact`
                                    //I also prefer to set the value of fact as 1 here and return the 1 at bottom so we only have one return statement
                                    //but thats just me - having 2 return statements should be fine if used wisely

            /*while (num >= i)      //thispart was wrong i reedited it into a better and more efficient code below
            {
                fact = fact*i;
                i++;
            }*/
        else
            {
                while(num>1)        // so lets say we enter 4 - 4 is larger than 1 
                {
                fact*=num;          //first step through it will be fact = fact * num; fact is 1 at first loop so it will be 1 * 4 and we put that value into fact
                num--;              //here we set num to 3 for next loop and we repeat :D
                }
            }

        return fact;                //here we return the value
    }


int main()                          //just a normal main 
{
    int number;
    cout<<"Enter number: \n";
    cin>>number;
    cout<<"Factorial of "<<number<<" is "<<factorial(number);

    return 0;
}

あなたの質問は完全に良かったと思います。私自身初心者プログラマーであるため、このような質問を見るときにも役立ちます。お役に立てれば!がんばろう!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

奇数の場合は数値の二乗を返し、偶数の場合は(数値-1)平方を返します

((unsigned int)0-1)> 0の場合はtrueを返します

0と1以外の場合は、falseを返します

a / b、ただしb == 0の場合は0を返します

dfに列を追加します。特定の値が0の場合は、1を返します。それ以外の場合は、列の元の値を返します。

値が 1 未満の場合、フロートは 0 を返します。

getObject(index、Long)はnullの場合は0を返します

Double.ToStringは、0の場合は空を返します

別の列が3の場合は列を返し、それ以外の場合は0を返します

countがnullの場合、ラムダは0を返します

パンダは、別の列の平均と比較した場合、1または0を返します

数値がテーブルに存在する場合は1を返し、それ以外の場合は0を返します。

Rの2つの因子を使用した階乗行の組み合わせのリストを返します

配列を乗算し、配列が空の場合は0を返すコードが必要

配列を乗算し、配列が空の場合は0を返すコードが必要

差が1年を超える場合、date_diffは0を返します

jsonがnullを返す場合は、「0」を設定します

奇数を2乗し、数が偶数の場合は1を2乗します。

値がnullSSRSに等しい場合は0を返します

sapply() は、R で x 値が 0 の場合に 'logical(0)' を返します。

すべてのフィールドが「0」の場合、Foreachは1つのビューを返します

空白の場合は0を返し、それ以外の場合はvlookupを実行します

「count(n)をcountとして返す」は、count(n)= 0の場合にゼロ行を返します。

formGroup.length> 1の場合、ngModel要素の合計はNANを返します

MySQLSelectが存在しない場合は1を返します

MySqlクエリはnullの場合は毎月0を返します

変数が0の場合に1を返し、1の場合に0を返すコンパクトな方法は何でしょうか。

2つの行が等しい場合、MYSQLは1つの値を返します

2つの値がゼロの場合は0を返します

TOP 一覧

  1. 1

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  2. 2

    ソートされた検索、ターゲット値未満の数をカウント

  3. 3

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    Reactでclsxを使用する方法

  7. 7

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  8. 8

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  9. 9

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  10. 10

    PowerShellの分割ファイルへのヘッダーの追加

  11. 11

    Chromeウェブアプリのウェブビューの高さの問題

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  14. 14

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  15. 15

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  16. 16

    MLでのデータ前処理の背後にある直感

  17. 17

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  20. 20

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  21. 21

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

ホットタグ

アーカイブ