![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは、いつもお世話になっています。この間、因数分解のメソッドを作ったのですが
static void recFactorizeAux(int n, int i)
{
if(n == 0)
{}
else
{
if (n % i == 0)
{
System.out.print(i + " ");
recFactorizeAux(n/i, i);
}
else
{ recFactorizeAux(n, i+1);
}
}
}
このように作りました。これで
i = 2; //iに2を代入して
recFactorizeAux(12, i);
このように呼び出すと、結果が
2 2 3
と出るようになっているんですが、この結果が、数字が小さい順に出るようになっているのを、大きい順に出るようにしたいんです。上の結果ならば、
3 2 2
となるように。
ずーっと悩んでいたんですが、初心者の自分ではもう出来なさそうなので、わかる方がいたら、ぜひ教えていただきたいのです。考えすぎて、ますますどつぼにはまってしまっているのかもしれません。
どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
なるべくもとのを活かすとしたら、こんな感じでしょうか
----------------------------------------------------------------
public class Factor {
static void recFactorizeAux(int n, int i){
int value=0;
if(n != 0 && n >= i){//オリジナルで再帰の終了条件が入っていないので修正
if (n % i == 0){
value = i;
recFactorizeAux(n/i, i);
} else {
recFactorizeAux(n, i+1);
}
}
if (value != 0){
System.out.print(value + " ");
}
}
public static void main(String arg[]){
recFactorizeAux(12,2);
}
}
バッチリ求めていたものそのものです!本当に助かりました。ありがとうございました。
わたし昨日今日と合わせて7,8時間程ずっとこの解決策を考えてて、それでもだめだったんです。
それをちょちょいと出来てしまうなんて、やはり熟練してる人は違いますね。私も少しでもそれに近づけるよう頑張ります!本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaでcsvファイル読込時の改行...
-
javaで電卓を作りたいのですが...
-
Java 初心者 int型の取り扱い方
-
「配列定数は、イニシャライザ...
-
C#で「型または名前空間名 'int...
-
intが負の時に投げる例外はあり...
-
JUnit4のアノテーションについて
-
コード中の謎のエラー
-
Swing実装での図形の追加と色の...
-
JAVAでCの関数ポインタのような...
-
java初心者の質問(3つの整数の...
-
Swing の実装でどうしてもエラ...
-
式の型は配列型で int に解決済...
-
ダブルクォーテーションのrepla...
-
javaで質問です。 文字列2023/2...
-
java junit list同士の比較方法
-
VBAで配列の計算
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「配列定数は、イニシャライザ...
-
Javaで電卓を作りたい
-
式の型は配列型で int に解決済...
-
javaでカレンダー作成
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
java spring でエラーが出て困...
-
6桁の数字を重複なしでランダム...
-
c# デリゲート関連の命名について
-
C++からC#のdllを参照する際、...
-
メインが含まれていません
-
(Swing)JTextFieldを半角のみ入...
-
DataSet(DataTable)の使い方
-
三目並べ(Tick-Tack-Toe)をJav...
-
JUnit4のアノテーションについて
-
初心者ですが、今javaで簡単な...
-
classを使って座標軸を求めるコ...
-
javaでcsvファイル読込時の改行...
-
C#で実行時にメソッドの返り値...
-
Java 初心者 int型の取り扱い方
おすすめ情報