|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.05.2016, 17:50 | #1 |
Регистрация: 03.05.2016
Сообщений: 9
|
Нахождение нескольких неизвестных в уравнении
Есть уравнение: X/70*Y/8*Z/8=156.428571428571 необходимо найти комбинацию из целых X, Y, Z, при которых значение будет максимально близкое к искомому. Сделал а Экселе таблицу на несколько десятков тысяч строк с вариантами перемножения, но необходимой точности не достиг. Причём X, Y, Z - должны быть в интервале от 70 до 110. Да и знаменатель 8 тоже можно поварьировать, но это уже за пределом возможностей Экселя (таблица с множетелями будет на сотни тысяч строк, а то и больше). Посему обращаюсь сюда за помощью.
В идеале нужна простейшая визуальная программка, с заданием интервала числителей и знаменателей, чтобы она перебором находила необходимую комбинацию, максимально близкую к искомому числу. Дробей не обязательно 3, желательно иметь возможность выбирать их количество. Доктор, мне можно помочь? Последний раз редактировалось Вадим Мошев; 03.05.2016 в 20:45. |
03.05.2016, 18:09 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
VBA в помощь, 3 вложенных цикла, до 70000 итераций, не так уж и много
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
03.05.2016, 19:02 | #3 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
x = 96
y = 100 z = 73 так штоли? Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
03.05.2016, 20:37 | #4 |
Регистрация: 03.05.2016
Сообщений: 9
|
ага. уже и сам нашёл, через Эксель. Просто первый интервал был 80-110, а когда пост писал, то сделал 70-100, но не думал, что попаду.
А ты как нашёл? На будущее нужно =) А то интервалы могут быть пошире и неизвестных поболе и Эксель уже не поможет. Последний раз редактировалось lbAdl; 03.05.2016 в 20:47. |
03.05.2016, 20:47 | #5 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
03.05.2016, 21:04 | #6 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Не сразу заметил, что надо целые, поэтому написал в общем виде.
VBA не владею, поэтому на Pascal / Delphi. Код:
X = 80 Y = 87.6 X = 100 Возможно их там много не целых, отличаются в последнем знаке. Если целые, то сделать step:=1; Тогда находит: X = 73 Y = 96 X = 100 ошибка =4.28573843080926E-13 PS Циклы у меня - не оптимально устроены в смысле скорости вычисления. Просто так короче. Последний раз редактировалось type_Oleg; 03.05.2016 в 21:08. |
03.05.2016, 21:05 | #7 |
Регистрация: 03.05.2016
Сообщений: 9
|
|
03.05.2016, 21:19 | #8 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
03.05.2016, 21:20 | #9 |
Регистрация: 03.05.2016
Сообщений: 9
|
Онлайн компилер ругается на последнюю строчку http://pascalabc.net/WDE/ - Встречен конец файла, а ожидалось begin
|
03.05.2016, 21:25 | #10 | |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Цитата:
Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке | admokep | Общие вопросы C/C++ | 1 | 10.01.2015 09:48 |
ОДЗ в уравнении | Александрq | Помощь студентам | 1 | 15.10.2012 00:37 |
Системы нелинейных уравнении над полем классов вычетов (Delphi или Pascal) | popondopulus_1 | Помощь студентам | 0 | 26.02.2012 19:43 |
поиска неизвестных в pascal | ank1ne | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 09.09.2011 16:37 |
Задача где неизвестных больше чем известных. | poolt | Microsoft Office Excel | 17 | 01.12.2010 02:28 |