Я действительно пытаюсь решить этот алгоритм. Я знаю, что мне нужно делать вложенную петлю, но я не знаю, как ее решить.В то время как вложенные петли
В основном вы имеете J^A, K^B, L^C, M^D, где каждый из а, б, в и г является одним из 17
чисел {-5, -4 , -3, -2, -1, -1/2, -1/3, -1/4, 0 или одинаковые числа, но положительные}.
Теперь я собираюсь спросить у пользователя приближенного значения (скажем, и), а затем попросить его
на 4 номера. Мне нужно найти комбинацию этих чисел, которая удовлетворяет уравнению: j^a * k^b * l^c * m^d, где оно находится в пределах 0,01 от u. Например кто-то выбрал
238900 для приближения затем выбрал 14,102329,1936,13 как его 4 значений, то программа
будет проверять каждую комбинацию (ie14^-5 * 102329 * -5 * .. и т.д.) найти ближайший
стоимость до 238900 в пределах 1%. Ответ 14^-5 * 102329^1 * 1936^1/2 * 13^4, который дает
Вы о 239103 (Иногда вы не можете приблизиться к 1% от значения u).
Я просто изо всех сил, чтобы поставить вложенный цикл поэтому он проверяет все возможные комбинации в
то же самое время вместо проверки его по одному. Предположим, что переменные
заявил (а, Ь, с, d, J, K, L, M) аса двойной и Q как INT:
double [] numbers = {-5.0, -4.0, -3.0, -2.0, -1.0, -1.0/2.0, -1.0/3.0, -1.0/4.0, 0.0, 1.0/4.0, 1.0/3.0, 1.0/2.0, 1.0, 2.0, 3.0, 4.0, 5.0}
while(j - u < k){
while(k - u < l){
while(l - u < m){
while(m < u * 0.01){
Math.pow(m,numbers[q];
q++;
}
int i = 0;
if(i == 0){
q = 0;
i++;
}
Math.pow(l,numbers[q]);
q++;
}
int y = 0;
if(y == 0){
q = 0;
y++;
}
Math.pow(k,numbers[q]);
q++;
}
int r = 0;
if (r == 0){
q = 0;
r++
}
Math.pow(j,numbers[q]);
q++;
}
Это машинный язык? Я не могу его прочитать. –
Мне не нравится видеть числа и уравнения вроде этого. Поместите некоторый код. –
попытайтесь применить свой подход к решению и что вы попробуете. – icrovett