質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

Q&A

解決済

1回答

1129閲覧

階乗のアルゴリズムの最適化

FoolHotari

総合スコア79

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

0グッド

0クリップ

投稿2020/08/18 14:35

編集2020/08/18 15:01
int p = 1; for (int i = 2; i <= n; i++) { p *= i; }

さらに簡素化、簡略化するにはどうすればいいのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daregada

2020/08/18 16:04

言語は何でしょう。intの値の取り得る範囲は?
退会済みユーザー

退会済みユーザー

2020/08/18 22:15

丸投げでしかないですが、何か意味のある質問なのでしょうか?
Daregada

2020/08/19 00:21

Cでintで階乗を求めるなら、nが12までしか計算できない(intの範囲に収まらない)ので、これ以上の簡素化・簡略化をする意味がない。
momon-ga

2020/08/19 01:34

> nが12までしか計算できない(intの範囲に収まらない)ので、これ以上の簡素化・簡略化をする意味がない。 ほほう。なら、12個のint配列定義して、インデックスアクセスという手もありますな。(簡素化)
swordone

2020/08/19 01:34

Cに限らず、32ビット整数では符号ありでもなしでも12!が限界です。64ビットでも20!が精一杯です。
Daregada

2020/08/19 02:59

そもそも「簡素化」の意味が定義されていないのでアレですが、わざわざ配列を用意してアクセスするコードは簡素なんですかね。
fana

2020/08/19 04:00

{}を取っ払えば,より「簡素」になるのでは.
guest

回答1

0

自己解決

この形がしっくりこなかったものですから質問させていただきましたが、無意味だったようですね。大きな数に対しては可変長変数などを使います。
すみません。回答してくださりありがとうございました。

投稿2020/08/19 01:46

FoolHotari

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2020/08/19 01:51

どういう点で「しっくりこない」のでしょうか?
退会済みユーザー

退会済みユーザー

2020/08/19 01:52

これ、回答なんですか? > この形がしっくりこなかったものですから質問させていただきました なにがしっくりこなかったのかを言語化できれば、回答が付いたかもしれません。
Daregada

2020/08/19 03:01

高速化したいのであれば「PrimeSwingでググれ」とかまだ答えようがあるんだけど。
Zuishin

2020/08/19 03:24

要するに複雑すぎて理解できなかったから簡単にできないかということですか?
dodox86

2020/08/19 03:45

ある見方ではループより再帰の方が簡単と捉えられるときがあるので、それのことかとも思いましたが、簡素、簡潔、最適の定義が不明だったのと、階乗は再帰のサンプルの初歩で出てくることでもあったので、回答する程でもないと思い、やめておきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問