Comments 86
В чем проблема то? :) Бежим справа налево и находим первое не максимальное значение разряда, его увеличиваем на 1, остальные числа (правые) обнуляем.
это задачка на скорость набора кода?
Непонятно в чём прикол. Обычная задача на сложение в разных системах счисления. Школьный уровень. Разница в том, что для всех разрядов разное основание и что с того, непонятно.
А чем подвох?
<?php
///////////////////////////////////////////////////////////////////////////////////////
function convert_ko($s) {
$a = explode(" ", trim($s));
if (++$a[5] > 42) {
$a[5] = 0;
if (++$a[4] > 23) {
$a[4] = 0;
if (++$a[3] > 16) {
$a[3] = 0;
if (++$a[2] > 15) {
$a[2] = 0;
if (++$a[1] > 8) {
$a[1] = 0;
if (++$a[0] > 4) {
$a[0] = 0;
echo("overflow at : $s
\n");
}
}
}
}
}
}
return implode(" ", $a);
}
///////////////////////////////////////////////////////////////////////////////////////
$f = fopen("konkurs1.txt", "rt");
$fo = fopen("out.txt", "wt");
while (!feof($f)) {
$s = fgets($f);
fputs($fo, convert_ko($s) . "\n");
}
fclose($f);
fclose($fo);
?>
защитан будет только выходной файл
80.93.188.66:3647/konkurs/out.txt
или так playdata.ru/a/out.txt
Javascript:
Пруф: jsfiddle.net/MVSUv/1/
Запись-чтение с файла — не проблема, но в браузере не проверишь.
var input = [
'1 3 12 22 0 11',
'2 0 0 16 23 42',
'4 8 15 16 23 42'
];
var max = [4, 8, 15, 16, 23, 42];
var output = {};
for (var i = input.length; i--;) {
var cur = input[i].split(' ');
for (var k = cur.length; k--;) {
if (cur[k] == max[k]) {
cur[k] = 0;
} else {
cur[k]++;
break;
}
}
if (k == -1) cur.unshift(1);
output[input[i]] = cur.join(' ');
}
for (var o in output) alert(o + ': ' + output[o]);
Пруф: jsfiddle.net/MVSUv/1/
Запись-чтение с файла — не проблема, но в браузере не проверишь.
защитан будет только выходной файл отправленный описанным образом. почемуто 2 человека с этой частью задачи не смогли справится )
мож не хотят заходить на ваш сайт? ведь в этом суть вашей задачи?
Вы шутите или издеваетесь? В упор не вижу ни тут, ни по ссылке на вашем сайте, где описано, каким образом файл надо отправлять.
Есть
Аа, нашел)
Специальная регистрация на конкурс не требуется. Подтверждением участия в конкурсе является вариант ответа через форму обратной связи на странице ttools.ru/?page_id=38. Необходимо указать контактные данные, никнейм, ссылку на файл-решение, а также желательно оценку сложности задачи на взгляд участника по пятибалльной системе (1-очень легкая, 5-очень сложная).
Отсюда
Специальная регистрация на конкурс не требуется. Подтверждением участия в конкурсе является вариант ответа через форму обратной связи на странице ttools.ru/?page_id=38. Необходимо указать контактные данные, никнейм, ссылку на файл-решение, а также желательно оценку сложности задачи на взгляд участника по пятибалльной системе (1-очень легкая, 5-очень сложная).
Отсюда
Ну, все ясно.
Через неделю будет нечто вроде: «Все вы, ребята, молодцы. Прислали правильные ответы. Но победил мой друг, Вася Иванов. Именно ему мы и отправляем 10 000».
Теперь понятно, в чем подвох :)
Ровно через неделю после старта конкурса объявляются результаты (список участников, приславших правильное решение) и победитель.
Через неделю будет нечто вроде: «Все вы, ребята, молодцы. Прислали правильные ответы. Но победил мой друг, Вася Иванов. Именно ему мы и отправляем 10 000».
Теперь понятно, в чем подвох :)
Да уж… Неделя чтобы определить первого приславшего? :)
Вручную проверять будут.
Думаю, не первого ;)
А по какой-нить лотерее. Ну, или первого, но им все равно будет друг автора — Вася Иванов. Тут 100%.
А по какой-нить лотерее. Ну, или первого, но им все равно будет друг автора — Вася Иванов. Тут 100%.
Вовсе нет) Никакого подвоха. Мне очень интересен этот опыт. Я чесно расчитаюсь с победителем. Но если вы не верите, и участие заведомо не доставит вам никакого удовольствие — лучше не участвуйте.
Неделя, чтобы немного растянуть удовольствие )
P.S. А вот кстати, есть у вас мысли, как бы я мог организовать следующий подобный конкурс, таким образом, чтобы снять с себя подобное подозрение. Я вот никак не могу придумать
Неделя, чтобы немного растянуть удовольствие )
P.S. А вот кстати, есть у вас мысли, как бы я мог организовать следующий подобный конкурс, таким образом, чтобы снять с себя подобное подозрение. Я вот никак не могу придумать
Неделя, чтобы растянуть удовольствие от решения задачи, на которую требуется 2 минуты? — сомнительный ход.
может и действительно стоит время сократить. я подумаю. а чем лучше? всё равно это не спасет вас от подозрений. так хоть интрига какая-то. вы вот например уверены, что верное решение уже есть?
Я как минимум уверен в своем решении :) Оно жутко кривое, но должно работать :)
А интрига? Вот, например, я, зайдя на ваш сайт через 4 часа после старта и увидя такую простую задачку — не пошел бы ее решать, т.к. ежику понятно, что ее решили за первые пол часа уж точно.
Смысл в такой интриге?
От подозрений — да, не спасет. Но подозрения вызваны в 1-ю очередь тем, что задача на 2 минуты и реально — на скорость набора кода. А приз — 10 000 руб. Неадекватно. А неадекватность всегда вызывает подозрения.
А интрига? Вот, например, я, зайдя на ваш сайт через 4 часа после старта и увидя такую простую задачку — не пошел бы ее решать, т.к. ежику понятно, что ее решили за первые пол часа уж точно.
Смысл в такой интриге?
От подозрений — да, не спасет. Но подозрения вызваны в 1-ю очередь тем, что задача на 2 минуты и реально — на скорость набора кода. А приз — 10 000 руб. Неадекватно. А неадекватность всегда вызывает подозрения.
ну посмотрим, если правда не будет никто — будут досрочные результаты.
>А приз — 10 000 руб. Неадекватно.
А я боялся, что этого будет мало. На адекватность у каждого свой взгляд. Может вообще, проблема в том, что приз денежный? Надо было разыграть какую-нибудь никому не нужную фигню, и все бы остались довольны )
>А приз — 10 000 руб. Неадекватно.
А я боялся, что этого будет мало. На адекватность у каждого свой взгляд. Может вообще, проблема в том, что приз денежный? Надо было разыграть какую-нибудь никому не нужную фигню, и все бы остались довольны )
Начните с покупки Розенталя. Он помогает придумывать грамотные конкурсы, а не ЭТО, где проверяется скорость набора кода и в которой думать не надо практически. То бишь кто первым заметил, того и тапки.
#!/usr/bin/python f=open("in") k=[4,8,15,16,23,42] for s in f.readlines(): l = s.split(" ") c = [0,0,0,0,0,0] for i in range(0,6)[::-1]: c[i]+=int(l[i])+1 if (i>0): if (c[i]>k[i]): c[i-1]=1 else: c[i-1]=0 c[i]=str(c[i]) p=" ".join© print p
В чем прикол?
отправьте файл!
Я раньше (см выше)
Жду подвоха :)
Жду подвоха :)
согласен, вы раньше. Отвлекался на работу. ((=
гг. нашел у себя косяк
И не один ) Можно немножко покритиковать? )
for i in range(0,6)[::-1]:
Что за жесть? o_O… for i in range(5,-1,-1):
if (c[i]>k[i]): c[i-1]=1
else: c[i-1]=0
Боже, это же Питон, а не C/C++. Вот жеc[i-1] = 1 if c[i] > k[i] else 0
На крайний случай так: c[i-1] = int(c[i] > k[i])
c[i]=str(c[i])
p=" ".join©
print p
Зачем?print " ".join(map(str,c))
Подвох в том что не указано куда отправлять )
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int max_val[] = { 4, 8, 15, 16, 23, 42 };
const int digit_count = sizeof(max_val) / sizeof(max_val[0]);
ifstream inf("konkurs1.txt");
ofstream outf("out.txt");
int number[digit_count];
while(inf.good())
{
for(int i = 0; i < digit_count; i++)
{
inf >> number[i];
}
number[digit_count - 1]++;
for(int i = digit_count - 1; i >= 0; i--)
{
if(number[i] > max_val[i])
{
number[i - 1]++;
number[i] = 0;
}
}
for(int i = 0; i < digit_count; i++)
{
outf << number[i];
if(i != digit_count - 1)
{
outf << " ";
}
}
outf << endl;
}
}
www.sendspace.com/file/4flnzt
написано, форма на сайте. обрабатываться будут только туда отправленные файлы
ttools.ru/?page_id=38
ttools.ru/?page_id=38
Нифига не понятно, почему:
0*0^5 +0*0^4 +0*0^3 +0*0^2 + 1*1^1 + 0*0^0 = 1…
“0 0 0 0 1 0” соответствует числу “43″ в десятичной системе
0*0^5 +0*0^4 +0*0^3 +0*0^2 + 1*1^1 + 0*0^0 = 1…
Каждая единица второго разряда равна 43
Каждая единица третьего разряда = 43*24
Каждая единица третьего разряда = 43*24
Ааа… тогда это не основание минус 1, а плавающее основание…
это ж что ж за система счисления у вас такая, где
000010 обозначает «1»
а, судя по вашим формулам,
000000 = 000001 оба обозначают «0» ))
000010 обозначает «1»
а, судя по вашим формулам,
000000 = 000001 оба обозначают «0» ))
Приз победителя – 10 000 рублей
Это в какой системе счисления?
Неделя это вы зря, уже к вечеру никто не будет отправлять результаты, так как ясно что такую простую задачу уже решили, надо менять критерий однозначно.
Советую если вы решили проводить такие конкурсы, то использовать для этого спец площадки для олимпиадных задач по информатике, там люди реально соревнуются, видно кто лидер, есть реальная возможность за счет ума/таланта его обогнать, а не как в вашем случае когда кто первый решил тот и молодец, хотя он мог использовать для этого отвратительные приемы программирования, тратить 100 Мб памяти и 200 секунд на обработку.
Для того чтобы найти такие площадки достаточно ввести в поисковике два слова «contest олимпиады» на выбор будут десятки порталов, их вам я и советую использовать.
Советую если вы решили проводить такие конкурсы, то использовать для этого спец площадки для олимпиадных задач по информатике, там люди реально соревнуются, видно кто лидер, есть реальная возможность за счет ума/таланта его обогнать, а не как в вашем случае когда кто первый решил тот и молодец, хотя он мог использовать для этого отвратительные приемы программирования, тратить 100 Мб памяти и 200 секунд на обработку.
Для того чтобы найти такие площадки достаточно ввести в поисковике два слова «contest олимпиады» на выбор будут десятки порталов, их вам я и советую использовать.
Интересно, числа только мне напоминают «Lost»?
Sign up to leave a comment.
Задачка на 10 000 руб