Программисты
Дом и гном
Специалист
10/26/2005, 12:21:10 AM
Да не понял ты ничего. Меня интересует, можно ли написать ПРОГРАММУ которая вычислит как работает программа в игровом аппарате и со 100% гарантией выдаст какой цвет карты будет следующим. Без всяких вероятностей.
ne-zvezda
Любитель
10/26/2005, 1:37:18 AM
Если в игровом аппарате используется RANDOME, то никакой 100% вероятности нет.
Дом и гном
Специалист
10/26/2005, 2:27:50 PM
А как узнать не влезая в него?
Trucker
Мастер
10/27/2005, 5:33:38 AM
(Дом и гном @ 25.10.2005 - время: 20:21) Да не понял ты ничего. Меня интересует, можно ли написать ПРОГРАММУ которая вычислит как работает программа в игровом аппарате и со 100% гарантией выдаст какой цвет карты будет следующим. Без всяких вероятностей.
Да сам ты ничего не понял! Описание такого рода процессов - всегда вероятностное. Так что ответ на твой вопрос - НЕТ.
Да сам ты ничего не понял! Описание такого рода процессов - всегда вероятностное. Так что ответ на твой вопрос - НЕТ.
DELETED
Акула пера
10/27/2005, 2:22:03 PM
Генератор случайных чисел выдаёт не случайные числа. Псевдослучайные. То есть создаётся впечатление, что числа случайные, но на самом деле они вычисляются по специальной функции. Чтобы не было такого, что ты два раза запустил генератор и он выдал тебе два одинаковых ряда чисел, в нём вводится начальное значение, используя которое, генерируются все последующие. Но и здесь генератор выдаст два одинаковых ряда, если начальные значения совпадут. Поэтому в программах начальным значением задают, например, системное время (оно постоянно меняется) или что-то подобное. Чтобы написать программу, определяющую числа, выдаваемые генератором, нужно: 1. Знать начальное число, которое использовал генератор; 2. Все предыдущие числа, которые он выдавал. Задача, имхо, нереальная!
Format C
Грандмастер
10/27/2005, 8:48:54 PM
(Высший Разум @ 27.10.2005 - время: 02:22) Чтобы написать программу, определяющую числа, выдаваемые генератором, нужно: 1. Знать начальное число, которое использовал генератор; 2. Все предыдущие числа, которые он выдавал. Задача, имхо, нереальная!
Мы должны знать с точностью до миллисекунд время, когда в игровом автомате запустился генератор псевдослучайных чисел?
Но... если программист дебил или вредитель, он может положить это время в log-файл.
Мы должны знать с точностью до миллисекунд время, когда в игровом автомате запустился генератор псевдослучайных чисел?
Но... если программист дебил или вредитель, он может положить это время в log-файл.
DELETED
Акула пера
10/28/2005, 3:33:29 AM
Программист сам не знает этого значения. Он пишет команду типа x=random(get_system_time()) (в каждом языке свой синтаксис). Время (а оно задаётся в миллисекундах) подставляется автоматически другой функцией.
Конечно, если программист захочет, он зафиксирует это время. Но если уж он захочет заработать на игровом автомате, который он программирует, то, уж поверьте, это можно сделать куда более проще.
К тому же не факт, что использовалось время в качестве параметра. Да и все уже выданные генератором числа знать нужно, так как он использует начальное значение для расчёта только первого числа. Для расчёта второго случайного числа он использует в качестве параметра первое и т.д.
Конечно, если программист захочет, он зафиксирует это время. Но если уж он захочет заработать на игровом автомате, который он программирует, то, уж поверьте, это можно сделать куда более проще.
К тому же не факт, что использовалось время в качестве параметра. Да и все уже выданные генератором числа знать нужно, так как он использует начальное значение для расчёта только первого числа. Для расчёта второго случайного числа он использует в качестве параметра первое и т.д.
Дом и гном
Специалист
10/28/2005, 4:49:28 AM
(Высший Разум @ 27.10.2005 - время: 10:22) Генератор случайных чисел выдаёт не случайные числа. Псевдослучайные. То есть создаётся впечатление, что числа случайные, но на самом деле они вычисляются по специальной функции. Чтобы не было такого, что ты два раза запустил генератор и он выдал тебе два одинаковых ряда чисел, в нём вводится начальное значение, используя которое, генерируются все последующие. Но и здесь генератор выдаст два одинаковых ряда, если начальные значения совпадут. Поэтому в программах начальным значением задают, например, системное время (оно постоянно меняется) или что-то подобное. Чтобы написать программу, определяющую числа, выдаваемые генератором, нужно: 1. Знать начальное число, которое использовал генератор; 2. Все предыдущие числа, которые он выдавал. Задача, имхо, нереальная!
Начнем с пункта 2. Наверняка не нужно вводить всю последовательность которую выдавал генератор. Должен существовать определенный минимум последних значений, например 50, 100 или 500 последних карт. Их не трудно узнать если я буду играть на этом аппарате. Теперь пункт 1. Остается только одно неизвестное значение во всей этой задаче, узнать начальное число. (Если это допустим системное время, то оно течет равномерно, так как аппарат не выключают пока я за ним играю.) Мне это напоминает открытие кодового замка когда не знаешь кода (подставляешь одну цифру, потом следующую итд пока не откроется). Да, я многого не понимаю, но еще со школы помню, что если в уравнении одна неизвестная, то ее можно найти. Наверно в нете можно узнать какие обычно начальные числа ставят в прогаммах для игровых аппаратов. Неужели это не реально???
Начнем с пункта 2. Наверняка не нужно вводить всю последовательность которую выдавал генератор. Должен существовать определенный минимум последних значений, например 50, 100 или 500 последних карт. Их не трудно узнать если я буду играть на этом аппарате. Теперь пункт 1. Остается только одно неизвестное значение во всей этой задаче, узнать начальное число. (Если это допустим системное время, то оно течет равномерно, так как аппарат не выключают пока я за ним играю.) Мне это напоминает открытие кодового замка когда не знаешь кода (подставляешь одну цифру, потом следующую итд пока не откроется). Да, я многого не понимаю, но еще со школы помню, что если в уравнении одна неизвестная, то ее можно найти. Наверно в нете можно узнать какие обычно начальные числа ставят в прогаммах для игровых аппаратов. Неужели это не реально???
DELETED
Акула пера
10/29/2005, 8:11:34 AM
Нет, не так! По числу, выданному генератором псевдослучайных чисел невозможно определить, какое число было до этого. Следующее число - можно, но только если проследить весь ряд, начиная с первого числа. Как ты их узнаешь? Ведь ряд чисел существует только в программе, а автомат на основании этих чисел будет рисовать для тебя соответствующую картинку. Например, чётное число - чёрная карта, нечётное число - красная карта. Ты будешь видеть только карты, как ты узнаешь числа, которые им соответствуют? И как ты узнаешь принцип, по которому числа преобразуются в игровую информацию на экране? К тому же при каждом запуске автомата начальное значение генератора будет меняться. И это не обязательно будет время, это может быть хэш-функция, например...
Дом и гном
Специалист
10/29/2005, 10:16:18 PM
Понятно. Жаль, но идейка была хорошая.
DELETED
Акула пера
10/31/2005, 5:46:04 PM
Братцы, выручайте! Нужен компилятор по си++ под дос,никак не могу найти его в сети, скиньте либо ссылочку либо мне на почту [email protected]
ssq996
Интересующийся
10/31/2005, 8:09:49 PM
генератор, тер. вер.. рандом.. а ответ остался тот-же: НЕТ..
поскольку никто не знает с какого момента идет вычисление рандома, никто не знает саму функцию рандома.. никто ничего не знает.. а функция может быть от x=rnd(y) до навороченной от которой берется какой нить mod и подставляется в карты..
а может все намного проще.. если автомат не принес определенной прибыли в день - то фиг ты угадаешь, черное там или красное.. причем второй вариант более похож на реальность. насколько я знаю, среднестатистический выйгрыш в автомате составляет 99 копеек с 1 рубля. несколько раз по ТВ проходила информация, что владельцы автоматов завышают свои прибыли путем подстройки этих самых автоматов.. значит там есть параметр, отвечающий за прибыль.. дальше.. если эти автоматы в общей сети (например система ДжекПот или Вулкан) и количество прибыли высчитывается с этой сети аппаратов, то вообще нет возможности высчитать "выйгрышный" аппарат или "счастливое время". ИМХО, возможность твоего личного выйгрыша зависит от прибыли которую должен принести аппарат владельцу (это я думаю самое главное) и от некой рандомной составляющей.. причем периодически аппарат должен давать выигрывать, чтоб привлекать клиентов. тоесть если аппарат должен принести 1000 рублей в день, то я себе представляю это так: пока в него воткнули менее 100 руб., он позволяет тебе выйграть 20 рублей с вероятностью 1/2, менее 200 рублей - 40 рублей с вероятностью 1/4, 500 - 100 рублей с вероятностью 1/10 и т.д. это мое видение, и сугубо мое :)))))
поскольку никто не знает с какого момента идет вычисление рандома, никто не знает саму функцию рандома.. никто ничего не знает.. а функция может быть от x=rnd(y) до навороченной от которой берется какой нить mod и подставляется в карты..
а может все намного проще.. если автомат не принес определенной прибыли в день - то фиг ты угадаешь, черное там или красное.. причем второй вариант более похож на реальность. насколько я знаю, среднестатистический выйгрыш в автомате составляет 99 копеек с 1 рубля. несколько раз по ТВ проходила информация, что владельцы автоматов завышают свои прибыли путем подстройки этих самых автоматов.. значит там есть параметр, отвечающий за прибыль.. дальше.. если эти автоматы в общей сети (например система ДжекПот или Вулкан) и количество прибыли высчитывается с этой сети аппаратов, то вообще нет возможности высчитать "выйгрышный" аппарат или "счастливое время". ИМХО, возможность твоего личного выйгрыша зависит от прибыли которую должен принести аппарат владельцу (это я думаю самое главное) и от некой рандомной составляющей.. причем периодически аппарат должен давать выигрывать, чтоб привлекать клиентов. тоесть если аппарат должен принести 1000 рублей в день, то я себе представляю это так: пока в него воткнули менее 100 руб., он позволяет тебе выйграть 20 рублей с вероятностью 1/2, менее 200 рублей - 40 рублей с вероятностью 1/4, 500 - 100 рублей с вероятностью 1/10 и т.д. это мое видение, и сугубо мое :)))))
Любитель-испытатель
Любитель
11/2/2005, 10:44:43 AM
не нашел подходящего топа, решил здесь спросить:
Есть тут программисты на Java? Вопрос не сложный...В C# есть такой класс как ArrayList и SortedList, т.е. array, в которых можно хранить objects. Есть ли такой классс в Java, аналог ArrayList? Задача в том, чтобы хранить в array (вектор?) объекты.
Спасибо.
Есть тут программисты на Java? Вопрос не сложный...В C# есть такой класс как ArrayList и SortedList, т.е. array, в которых можно хранить objects. Есть ли такой классс в Java, аналог ArrayList? Задача в том, чтобы хранить в array (вектор?) объекты.
Спасибо.
DELETED
Акула пера
11/7/2005, 11:43:31 AM
В Java всё проще! Здесь массив может состоять из объектов любых классов, да и сам массив тоже является объектом. Смотри листинг!
class MyClass
{
int x;
int y;
boolean flagX;
boolean flagY;
public void myMethod(int a, int b)
{
if (x>a) flagX = true;
if (y>b) flagY = true;
}
}
public class MyProgram
{
public static void main(String args)
{
int N = 24;
MyClass myVar = new MyClass();
for (int i = 0; i < N; i++)
{
myVar.x = i*4;
myVar.y = i*N;
myVar.flagX = false;
myVar.flagY = !myVar.flagX;
myVar.myMethod(14, 51);
}
}
}
Так как массив сам является объектом, то он содержит собственные переменные и методы. Например, для определения длины массива достаточно обратиться к его переменной length:
int max = myVar.length;
ps: В Java ещё есть встроенные структуры данных, достаточно мощные и универсальные!
class MyClass
{
int x;
int y;
boolean flagX;
boolean flagY;
public void myMethod(int a, int b)
{
if (x>a) flagX = true;
if (y>b) flagY = true;
}
}
public class MyProgram
{
public static void main(String args)
{
int N = 24;
MyClass myVar = new MyClass();
for (int i = 0; i < N; i++)
{
myVar.x = i*4;
myVar.y = i*N;
myVar.flagX = false;
myVar.flagY = !myVar.flagX;
myVar.myMethod(14, 51);
}
}
}
Так как массив сам является объектом, то он содержит собственные переменные и методы. Например, для определения длины массива достаточно обратиться к его переменной length:
int max = myVar.length;
ps: В Java ещё есть встроенные структуры данных, достаточно мощные и универсальные!
rudik74
Профессионал
11/7/2005, 9:59:16 PM
Начала в училище изучать програмирование. МАМА МОЯ!!!!!!!!
Ужасно.....
Сейчас базу данных......
Короче, у меня нет слов. Кошмар просто. Я конечно допускаю, что это только сначала так ужасно..... но....
Я в ужасе......
Ужасно.....
Сейчас базу данных......
Короче, у меня нет слов. Кошмар просто. Я конечно допускаю, что это только сначала так ужасно..... но....
Я в ужасе......
DELETED
Акула пера
11/8/2005, 10:26:58 AM
rudik74, кому ужасно, а кому программирование даже женщину заменяет! (Это я не про себя!)
Держись, скоро полегче будет!
Держись, скоро полегче будет!
rudik74
Профессионал
11/10/2005, 1:49:06 AM
Сегодня на уроке хоть что то соображала. И у нас ещё только теория, определять какая связь у сущностей. Что главное, да и вообще, весь разбор "полётов"....
Кстати, вроде что то понимаю, только одна на уроке, что-то вслух и произносила. Это хоть радует.
Но всё равно, не знаю... и кто придумал эту БД........
Голова болит.
Кстати, вроде что то понимаю, только одна на уроке, что-то вслух и произносила. Это хоть радует.
Но всё равно, не знаю... и кто придумал эту БД........
Голова болит.
DELETED
Акула пера
11/10/2005, 5:48:41 PM
Народ,вы все такие прошаренные программисты.Помогите кто-нибудь.Мне нужно написать на с++ или на vc калькулятор.Предмет-Компьютерная графика.Нужен текст двухмерного и текст трехмерного калькулятора,чтобы кнопочку нажать и на его дисплее цифра нужная появилась.всякие умножения и сложения не надо,только кнопочки можно нарисовать.только чтоб симпатично было и достаточно просто разобраться,а то я в этом сишнике ни бум-бум.Приходится к спецам обращаться.Может выручите?Текст можно в личку или здесь выложить.Заранее премного благодарен.С меня репутация и,если все будет как надо,то подарок на все сексо.
DELETED
Акула пера
11/22/2005, 1:36:03 AM
(Trucker @ 25.10.2005 - время: 18:00) (Дом и гном @ 25.10.2005 - время: 17:40) Видно умные люди живут в своем мире. Уважаемый Trucker задам вопрос по другому. Представь, что я написал программу которая выдает на экране компа картинку красного или черного цвета. Каждую минуту программа меняет цвет или оставляет его таким же. Получается последовательность цветов крассного и черного. Например К Ч К Ч Ч Ч К Ч К К Ч К и так далее до бесконечности. Вопрос можно ли написать еще одну программу в которую введем последовательность цветов выдаваемых первой программой, чтоб просчитать какой цвет картинки выдаст первая программа в следующую минуту.
Я тебя понял. В общем-то мой ответ остаётся прежним - говоря научным языком, можно лишь оценить вероятность исхода следующего испытания (в твоём случае - появления картинки определённого цвета, пусть красного). Вероятность появления красного цвета на первом испытании - 1/2 (чёрного, сответственно, тоже). Если красный цвет появился, то вероятность, что он выскочит во второй раз, будет уже 1/4 (1/2*1/2 - по теореме умножения вероятностей), чёрного - 3/4 (1-1/4). На третьем испытании - соответственно 1/8 и 7/8. Это если у тебя вероятности появления того или иного цвета распределены равномерно. Если они у тебя распределены нормально (к примеру, есть ещё синий цвет, и вероятность его появления - 6/8, а у красного и чёрного - по 1/8), то можно оценить "синюю" вероятность точнее. Кстати, установление закона распределения случайной величины (здесь - цвета экрана) по массиву её испытаний - это одна из классических задач матстатистики.
Ну что, будут ещё вопросы?
а про закон больших чисел забыли? если в аппарате стоит истинный генератор, то вероятности можно просчитать, зная коэффициенты за каждую масть катр.
а я сомневаюсь что там стоит генератор СЛУЧАЙНЫХ чисел. Зачем тогда сети игровых автоматов оптикой связаны?
Я тебя понял. В общем-то мой ответ остаётся прежним - говоря научным языком, можно лишь оценить вероятность исхода следующего испытания (в твоём случае - появления картинки определённого цвета, пусть красного). Вероятность появления красного цвета на первом испытании - 1/2 (чёрного, сответственно, тоже). Если красный цвет появился, то вероятность, что он выскочит во второй раз, будет уже 1/4 (1/2*1/2 - по теореме умножения вероятностей), чёрного - 3/4 (1-1/4). На третьем испытании - соответственно 1/8 и 7/8. Это если у тебя вероятности появления того или иного цвета распределены равномерно. Если они у тебя распределены нормально (к примеру, есть ещё синий цвет, и вероятность его появления - 6/8, а у красного и чёрного - по 1/8), то можно оценить "синюю" вероятность точнее. Кстати, установление закона распределения случайной величины (здесь - цвета экрана) по массиву её испытаний - это одна из классических задач матстатистики.
Ну что, будут ещё вопросы?
а про закон больших чисел забыли? если в аппарате стоит истинный генератор, то вероятности можно просчитать, зная коэффициенты за каждую масть катр.
а я сомневаюсь что там стоит генератор СЛУЧАЙНЫХ чисел. Зачем тогда сети игровых автоматов оптикой связаны?
Daniela
Мастер
11/22/2005, 4:30:56 PM
(rudik74 @ 10.11.2005 - время: 03:49) Сегодня на уроке хоть что то соображала. И у нас ещё только теория, определять какая связь у сущностей. Что главное, да и вообще, весь разбор "полётов"....
Кстати, вроде что то понимаю, только одна на уроке, что-то вслух и произносила. Это хоть радует.
Но всё равно, не знаю... и кто придумал эту БД........
Голова болит.
rudik74, таже херня! кто тока это придумал!
А вот программка мне нравилась:)
Кстати, вроде что то понимаю, только одна на уроке, что-то вслух и произносила. Это хоть радует.
Но всё равно, не знаю... и кто придумал эту БД........
Голова болит.
rudik74, таже херня! кто тока это придумал!
А вот программка мне нравилась:)