Требуется инженер-программист
Модератор: Модераторы
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: Требуется инженер-программист
Апочки. Кстати если уж об SQL речь, то может комбинации from dual с cross join на самих себя и тогда delphi не надо?
На python решил 1 человек. Неужели нас так мало? А Java считается самым популярным языком программирования.
На python решил 1 человек. Неужели нас так мало? А Java считается самым популярным языком программирования.
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...
-
- WALL•E
- Сообщения: 3548
- Зарегистрирован: 24 фев 2007, 15:24
- Контактная информация:
Re: Требуется инженер-программист
написать алгоритм вывода всех выигрышных ситуаций для крестиков без Систем Управления Базами Данных? сурьезно?Dr.Martini писал(а):Если честно затрудняюсь придумать алгоритм без использования СУБД.
Может используете принципиально другой подход ?
у меня получается прмерно так :
1) Генерация всевозможных перестановок из 9 чисел от 1 до 9
2) Перекодировка в 1 четных и в 0 нечет
3) Избавляемся от повторений, оставшиеся - всевозможные комбинации.
4) Из всевозможных возвращаем выйгрышные для крестиков ( выполнение восемь условий равентсва соотве-х позиций единичке)
Cogitations poenam nemo patitur
- artfwo
- ВЕТЕРАН
- Сообщения: 2076
- Зарегистрирован: 20 ноя 2007, 16:17
- Откуда: КККП
- Контактная информация:
Re: Требуется инженер-программист
Да вроде как Си. http://www.langpop.com/#normalizedcyberone писал(а):Java считается самым популярным языком программирования.
- Dr.Martini
- бронзовый кавалер
- Сообщения: 122
- Зарегистрирован: 05 май 2008, 09:08
- Контактная информация:
Re: Требуется инженер-программист
просто самое что первое пришло в голову это тупо перебор чисел, их проще в СУБД крутить,Форумчанин писал(а):написать алгоритм вывода всех выигрышных ситуаций для крестиков без Систем Управления Базами Данных? сурьезно?Dr.Martini писал(а):Если честно затрудняюсь придумать алгоритм без использования СУБД.
Может используете принципиально другой подход ?
у меня получается прмерно так :
1) Генерация всевозможных перестановок из 9 чисел от 1 до 9
2) Перекодировка в 1 четных и в 0 нечет
3) Избавляемся от повторений, оставшиеся - всевозможные комбинации.
4) Из всевозможных возвращаем выйгрышные для крестиков ( выполнение восемь условий равентсва соотве-х позиций единичке)
ну если хочешь можно в не зависемости языка рекурсивный алгоритм :
процедура шаг(текущая_доска, игрок)
{
если(проверяем_доску_на_завершённость(текущая_доска))
{
массив_завершённых_досок.добавить(текущая_доска);
выход;
}
для каждой пустой ячейки:
{
текущая_доска : ставим в ячейку ход игрока;
шаг(текущая_доска, игрок.другой_игрок());
}
}
только будут дубликаты завершённых досок, надо будет потом дубликаты в конце убрать и всё
Чтобы быть счастливым, не надо ждать от жизни много.
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: Требуется инженер-программист
А если задачу упростить до уровня что в python есть List comprehension, а в Java есть Guava?
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: Требуется инженер-программист
А как насчёт решения на C, раз уж он самый популярный? Там тоже будет красиво, не так как в python, но всё же.
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...
Re: Требуется инженер-программист
да я just for fun запостил такое решение. думаю, это и так видно :)cyberone писал(а):точки с запятой в питоне как-бы лишние, хотя и допустимые :). Если согласишься на мелочи на неполную занятость, то не вопрос :)gil писал(а):УРА! МЕСТО МОЁ!
сейчас работа в Ростелеком настолько напряженная, что совмещать, увы, ничего не получится даже.
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: Требуется инженер-программист
Я и предложил тебе соответственно решению :). Твоя слава даёт тебе право написать любое решение :Dgil писал(а):да я just for fun запостил такое решение. думаю, это и так видно :)
сейчас работа в Ростелеком настолько напряженная, что совмещать, увы, ничего не получится даже.
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...
Re: Требуется инженер-программист
Код: Выделить всё
#!/usr/bin/python
from itertools import product
combos = [\
[1,1,1, 0,0,0, 0,0,0],\
[0,0,0, 1,1,1, 0,0,0],\
[0,0,0, 0,0,0, 1,1,1],\
[1,0,0, 1,0,0, 1,0,0],\
[0,1,0, 0,1,0, 0,1,0],\
[0,0,1, 0,0,1, 0,0,1],\
[1,0,0, 0,1,0, 0,0,1],\
[0,0,1, 0,1,0, 1,0,0]\
]
def check( field ):
i = 0
win_X = 0
if ( field.count(1) - field.count(2) < 0 or field.count(1) - field.count(2) > 1 ): return
for win_combo in combos:
result = map(lambda i,j:i*j, field, win_combo)
if (result.count(1) == 3): win_X = 1
if (result.count(2) == 3): return
if (not win_X): return
for cell in field:
if (i % 3 == 0): print
i += 1
print ( "_" if cell is 0 else "X" if cell is 1 else "O" ),
print
for field in product(range(3), repeat=9):
check(field)
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: Требуется инженер-программист
Ввиду того что не использована list comprehension (я даже не знаю как это по-русски), сильно планку не завышай, думаю 3-4 часа в день.
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...
Re: Требуется инженер-программист
как вышку получит... устроит конкурс среди работодателей(где интересней задачи и з.п.)... а там и видели его... (cyberone писал(а):Я и предложил тебе соответственно решению :). Твоя слава даёт тебе право написать любое решение :Dgil писал(а):да я just for fun запостил такое решение. думаю, это и так видно :)
сейчас работа в Ростелеком настолько напряженная, что совмещать, увы, ничего не получится даже.
- cyberone
- ветеран
- Сообщения: 447
- Зарегистрирован: 17 мар 2005, 20:35
- Откуда: от Верблюда
- Контактная информация:
Re: Требуется инженер-программист
Частник всегда выйграет при условии полной занятости. Мне кажется, государство через год или два все-таки научится «покупать» услуги админов и «программистов», а не держать в штате чиновника.mase писал(а): как вышку получит... устроит конкурс среди работодателей(где интересней задачи и з.п.)... а там и видели его... (
оружие российского производства самое убийственное, что опять же, в очередной раз, свидетельствует о злобности русских военных конструкторов, агрессивности военных и вообще всех ...
- AlexS
- ВЕТЕРАН
- Сообщения: 2557
- Зарегистрирован: 22 окт 2004, 23:42
- Откуда: Горно-Алтайск
- Контактная информация:
Re: Требуется инженер-программист
)))cyberone писал(а):Частник всегда выйграет при условии полной занятости. Мне кажется, государство через год или два все-таки научится «покупать» услуги админов и «программистов», а не держать в штате чиновника.mase писал(а): как вышку получит... устроит конкурс среди работодателей(где интересней задачи и з.п.)... а там и видели его... (
лет 5-10 минимум, в лучшем случае
Делай сегодня то, что другие не хотят - завтра будешь жить так, как другие не могут
Re: Требуется инженер-программист
думаю, для этого уеду на ПМЖ куда-нибудь. но это сравнительно не скоро (через ~ 4 года).mase писал(а):как вышку получит... устроит конкурс среди работодателей(где интересней задачи и з.п.)... а там и видели его... (cyberone писал(а):Я и предложил тебе соответственно решению :). Твоя слава даёт тебе право написать любое решение :Dgil писал(а):да я just for fun запостил такое решение. думаю, это и так видно :)
сейчас работа в Ростелеком настолько напряженная, что совмещать, увы, ничего не получится даже.