- ベストアンサー
26408023 = A * B を求めたい
Javaで、26408023 = A * B の正の整数A,Bを求めるプログラムを教えてください! A,Bのうち、どちらかは1ではない、という条件付きです。 for文を使って考えたのですが、何度やっても上手く行きませんでした! 詳しい方、for文を使ったプログラムを教えてください! お願いしますm(_ _)m
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1のご解答で、初めて求まった3457で割った商をnに 入れて、更にループの中に入るべきではないでしょうか。 今回は7639が素数であったから良いが、素数でない場合ならここで止めては、解がすべて出ないと思う。
その他の回答 (3)
- hofuhofu
- ベストアンサー率70% (336/476)
回答No.4
Javaは知らないので、Cですけど。 結果の表示(printf)のところさえ適当に書きかえれば、使えると思います。 int i,n=26408023; for(i=2;i<=sqrt(n);i++){ if(n%i==0) printf("%d %d \n",i,n/i); }
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
ありゃ、コードが抜けてた。 int n = 26408023; int a = 2; for ( a = 2; a < n; a++ ){ if ( n % a == 0 ){ break; } } aは3457らしい。
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.1
で、nじゃないaが答え。 まあ、この書き方だと60点ってところかなー。