Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
aimk0
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
#1

перебор значений

16.05.2010, 01:22. Просмотров 653. Ответов 2
Метки нет (Все метки)

Всем привет! Столкнулся с такой задачей: есть выражение -(13+13*d+13*d*d), d=0..1(с шагом 3, т.е. d=0,001; 0,002и т.д.). Надо найти при каком d искомое выражение принимает минимальное значение. Я перебирал все возможные значения d, начиная с нуля по порядку.
Внимание вопрос: можно ли сделать, чтобы значения d перебирались не по порядку а рандомно?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2010, 01:22
Ответы с готовыми решениями:

Полный перебор и сокращенный перебор, путем исключения одного цикла
1) Разработать на основе метода полного перебора программу razmen1 для решения...

Перебор
n = количество элементов в ряде (3<=n<=100) m = количество значений...

Перебор
помогите пожалуйста На плоскости заданы своими целочисленными координатами N...

Перебор символов
Можно ли это сделать проще: function...

Перебор строки
Здравствуйте! Прошу помочь разобраться с вопросом. Есть код: summ :=...

2
Zabiyak
КотЪ
217 / 217 / 60
Регистрация: 26.05.2009
Сообщений: 688
16.05.2010, 02:02 #2
Лучший ответ Сообщение было отмечено aimk0 как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
type
  TMas = array [1..1000] of real;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure DifferentRandom;
  var
    Mas: TMas;
    N: real;
    flag: bool;
    i,j: integer;
  begin
    for i:= 1 to 1000 do
      Mas[i]:= 0;
    Mas[1]:= (trunc(Random*1000))/1000;
    for i:= 1 to 999 do begin
      N:= trunc(Random*1000);
      flag:= false;
      for j:= 1 to i do
        if N/1000 = Mas[j] then begin
          flag:= true;
          break;
        end;
      if not flag then Mas[i+1]:= N/1000;
    end;
    for i:= 1 to 1000 do
      Form1.Memo1.Lines.Add(FloatToStr(Mas[i]));
  end;
 
procedure TForm1.Button1Click(Sender: TObject);
  begin
   DifferentRandom;
  end;
 
end.
PS. Конечно, это псевдо-рандом, сама дельфийская Random довольно груба и
прямолинейна, но для данных целей, думаю, пойдёт.
PSS. Первым числом в подавляющем большинстве случаев является 0 (точнее очень маленькое число, округляемое до 0)... видать какой-то скрытый нюанс функции Random...
1
aimk0
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
16.05.2010, 02:40  [ТС] #3
Zabiyak, спасибо за оперативность! Все отлично работает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2010, 02:40

перебор Memo
у меня есть список я его подгружаю в делфи путем AssignFile(F,...

Задача на перебор
Среди десяти имеющихся чисел найти пары таких, сумма которых равна 5.

Перебор IP адресов
Всем привет, подскажите как сгенерировать список IP адресов к примеру от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru