-5
//inefficient recursive algorithm to find number of coins needed for a some amount
public class bitcoin {
public int mincoins;
public static void main(String[] args) {
int[] coins = {1, 5, 10, 21, 25};
int change = 63;
int min = 0;
min = MinCoins(coins, change);
System.out.println(min);
}
public static int MinCoins(int[] coins, int change) {
int mincoins = change;
int mincoins1 = 10000;
for (int j = 0; j <= coins.length - 1; j++) {
if (coins[j] == change) //base case
return 1;
}
//recursive call breaking into two sub problems
for (int i = 1; i <= (change)/2; i++) {
mincoins1 = (MinCoins(coins, i) + MinCoins(coins, (change - i)));
if (mincoins1 < change)
mincoins = mincoins1;
}
return mincoins;
}
}
あなたのコードをフォーマットしてください。読むことは不可能です。 – Eran
IDEでコードを書式設定し、質問にコードとして記入してください。投稿時にプレビューがあります。それを使用し、コードが完全に見えるようになるまで送信ボタンを押さないでください。それほど難しいことではありません。あなたがそれをしている間、Java命名規則を尊重してください。 –
あなたの質問にも説明文を追加してください。あなたは最初に*どのように*尋ねることなく尋ねているように見えますが、これは賢明ではありません。すぐに[ヘルプ]のこれらのセクションを確認してください。 –