Задачка. Находим случайное число используя MathRand(), и надо определить - четное или нечетное число.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexander Ivanov
16731
Alexander Ivanov  
Как вы поступите?


Потом алгоритм используем для рандомного открытия сделок  BUY, SELL.



Mesaoria
176
Mesaoria  

int R = MathRand();

bool Odd = 1 == (R&1);

Aleksey Vakhrushev
658
Aleksey Vakhrushev  
Alexander Ivanov:
Как вы поступите?


Потом алгоритм используем для рандомного открытия сделок  BUY, SELL.




if(MathMod( MathRand(),2)==0) Print("Чёт"); esle Print("Нечёт");
Alexander Ivanov
16731
Alexander Ivanov  
Хорошо, проверю на деле.
У меня другой алгоритм для определения четности.
Alexander Ivanov
16731
Alexander Ivanov  
Идея такова, 
Если с RAND получаем четное число, то открываем BUY,
Если  нечетное число, то открываем SELL.
khorosh
11818
khorosh  
Alexander Ivanov:
Идея такова, 
Если с RAND получаем четное число, то открываем BUY,
Если  нечетное число, то открываем SELL.

Гениально!) Осталось придумать когда сидеть на заборе.)
Mesaoria
176
Mesaoria  
Alexander Ivanov:
Хорошо, проверю на деле.
У меня другой алгоритм для определения четности.

А какой, если не секрет?

Даже затрудняюсь предположить, что может быть проще вариантов, приведенных выше

khorosh
11818
khorosh  
Alexander Ivanov:
Для этого используем ряд Фибоначчи. 

Можно так:

switch(MathMod( MathRand(),3)) 
  { 
   case 0: 
      Print("ничего не делать"); 
      break; 
   case 1: 
      Print("BUY"); 
      break;
   case 2: 
      Print("SELL"); 
      break;
   default: 
      Print("ничего не делать"); 
      break; 
  } 
Alexander Ivanov
16731
Alexander Ivanov  
Mesaoria:

А какой, если не секрет?

Даже затрудняюсь предположить, что может быть проще вариантов, приведенных выше

У меня немного сложно и тупо. На квик бейсике написал. И осенило сделать бот , чтобы открывал в случайную сторону.
Dmitry Fedoseev
55128
Dmitry Fedoseev  

1. R%2==0

2. (R/2)*2==R

Alexander Ivanov
16731
Alexander Ivanov  
Вот на простом бейсике.

10 LET B=INT(RND(7))  
20 LET A=INT(B/2)                      //   Возвращает ближайшее сверху целое числовое значение.
30 IF (A*2)<B THEN PRINT"Нечетное число"
40 IF (A*2)=B THEN PRINT"Четное число"
45 PRINT B
50 PRINT"Ок."


программу можно проверить онлайн тут - http://www.quitebasic.com/user/

Quite BASIC — Web BASIC programming
  • Nikko Strom
  • www.quitebasic.com
Quite BASIC is a web-based classic BASIC interpreter. It’s a learning resource but has also become a celebration to the early days of personal computing.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий