** Это мой код, смотрите способ найти сумму в массиве **Улучшения моего жадного алгоритма
public class Piecedemonei {
public static void recherche(int[] tab) {
int num;
int quo;
for (int i = 0; i <= tab.length - 1; i++) {
int somme = 18;
System.out.println("Solution " + i);
for (int j = i; j < tab.length; j++){
if (tab[j] <= somme) {
num = somme/tab[j];
System.out.print(num+"*" + " " + tab[j]);
System.out.println(" ");
somme -= num * tab[j];
j=0;
}
}
}
}
public static void main(String[] args) {
int aba[] = { 7, 6, 4, 5 };
recherche(aba);
System.out.println();
}
}
Выход
Solution 0
2 7 + 1 4
Solution 1
Solution 2
Solution 3
** Ищет способ для улучшения моего кода, чтобы результат выглядел следующим образом: **
Solution 0
2*7 + 1*4
Solution 1
3*6
Solution 2
4*4 + 1*4
Solution 3
** Почему я не могу сбросить свою петлю так, что он делает то же самое снова и снова? **
Почему я не могу сбрасывать свой цикл так, чтобы он делал то же самое снова и снова: вам нужно объявить 'somme' внутри первого цикла for. В противном случае следующие циклы никогда не попадают в «if (tab [j] <= somme)» – alexbt
Вы код ищет somme = 18, но вы уменьшаете во внутреннем цикле. Вам нужно переназначить somme = 18 в начале каждого цикла. – alexbt
добавил ответ с форматированием, который легче увидеть. – alexbt