• ベストアンサー

課題;素因数分解

a-kumaの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

1)は、つまらないのでパス。 2)は、こんな感じ(効率は、あまり良くないけど)。 #include <iostream.h> int main() {   int i = 2, x;   cout << "input n:";   cin >> x;   while (i <= x) {     if ((x % i) == 0) {       cout << " " << i;       x /= i;     } else {       ++i;     }   }   cout << endl;   return 0; } 3)の前に、再帰版のプログラムはこんな感じ。 include <iostream.h> void pri(int x, int i) {   if (x <= 1) return;   if ((x % i) == 0) {     cout << " " << i;     pri(x / i, i);   } else {     pri(x, i+1);   }   return; } int main() {   int x;   cout << "input n:";   cin >> x;   pri(x, 2);   cout << endl;   return 0; } はっきり言って、(この程度のプログラムでは)たいした違いはない、よね。 再帰を使ったからといって、ロジックの見通しが良くなっているわけでも 無いし、却ってメモリ(スタック)を無駄に食うだけ。 あくまでもソフト屋さんの視点での比較なので、学校のレポートで点数を もらえる保証は無いよ ;-) # と言う意味では、「自信あり」とするわけにはいかないか…

関連するQ&A

  • 素因数分解

    全ての自然数は、素因数分解出来るのでしょうか? また、出来る場合は、それが証明されているのでしょうか?

  • 素因数分解

    1、 216を出来るだけ小さい自然数でわって、ある整数の2乗になるようにしたい。どんな自然数でわればよいですか? 2、 504に出来るだけ小さい自然数をかけて、ある整数の2乗になるようにしたい。どんな自然数をかければよいですか? この問題を素因数分解を使って解くようなのですが、、、、、 わかる方いましたら教えてください。 よろしくお願いします。

  • 素数の素因数分解

    素数(例えば17)の素因数分解について  (1)すでに素因数分解は終わっている (17の素因数分解は17)  (2)素因数分解はできない のどちらの見解が正しいですか?

  • 素因数分解する問題?

    √1980B の根号がとれる最も小さい自然数Bを求めよ。 上の問題で たぶん素因数分解をすると思うのですが、 素因数分解してそのあとがよくわかりません こんな私にもわかるように説明してほしいです; よろしくお願いします。

  • 素因数分解の一意性?????

    m,n,p,qをすべて互いに素な自然数とした時に、 2^n・p^m=q^mにおいて、 素因数分解の一意性より、qは2の倍数である。 素因数分解の一意性ってどういうことなのでしょうか?

  • 素因数分解!?

    xは自然数でx^2=736164のときxを求めよ。という問題なのですが、素因数分解してくと2、2、3、3の順で分解できるのはすぐ気づきます。しかし20449でとまってしまいます・・。なんとか143で分解できると気づいてx=858と答え出せたのですが、もっと上手い解き方ありますか?あるいは、2~3桁の素数の積を一瞬で見分ける方法はありますか?わかる方いましたらお願いします。

  • 素因数分解について

    X=√4,840,000 を素因数分解?? で解く場合、100*2*11=2,200 となると思いますが、素数の100を1000にしては駄目ですか? そもそも、素因数分解のルールが理解出来ていません。 素因数分解の簡単なやり方を分かり易く教えて下さる方、宜しくお願いいたします。 因数分解は方程式なので、取っ付きにくいイメージがあります。

  • 1を素因数分解しなさい

    数学的には例外(素因数分解できない)は作りたくないのですが…。 でも、「1」の素因数分解と言われたら、答はどうなるのでしょう。

  • 素因数分解ができない?

    123、205の最大公約数はいくつでしょう? 素因数分解をして求めたいのですが、 123は3で割って41 3* 205は5で割って41 5* となるのでしょうか? その後の素因数分解が続きません。 すいませんが、教えてください。 よろしくお願いします。

  • 素因数分解について

     ものすごく大きな素数二つを掛け合わせた数を素因数分解することは難しい、というようなことを本で読みました。 これって暗号を作ることにも利用されているみたいですが、どうしてこの数を素因数分解することが難しいのでしょうか?