
31.07.2012, 01:18
|
Профессор
|
|
Регистрация: 31.05.2012
Сообщений: 396
|
|
Сообщение от Hekumok
|
oneguy, мне вот это убрать?
|
Да, пожалуйста.
Сообщение от Hekumok
|
oneguy, Решение не показывайте пока - я завтра еще подумаю, да и melky хотел...
|
Хорошо.
|
|

31.07.2012, 12:50
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
oneguy, что-то получилось.
кто не хочет - пусть не смотрит.
// это такой хайд :)
var reg = eval(Array.prototype.map.call("2+1.,+B@_4-/_4.',2", function (a) { return String.fromCharCode(a.charCodeAt() - 3); }).join(''));
// рега без флагов !
alert( false === reg.global === reg.ignoreCase === reg.multiline );
function gcd(m, n) {
return (Array(m+1).join("*")+","+Array(n+1).join("*")).match(reg)[0].length;
}
alert( gcd(3, 4) ); // 1 - :)
alert( gcd(3, 6) ); // 3
alert( gcd(15, 25) ); // 5
alert( gcd(35, 42) ); // 7
alert( gcd(42, 35) ); // 7 (!) - порядок чисел неважен.
Последний раз редактировалось melky, 31.07.2012 в 12:54.
|
|

31.07.2012, 15:16
|
Профессор
|
|
Регистрация: 31.05.2012
Сообщений: 396
|
|
Сообщение от melky
|
oneguy, что-то получилось.
|
Вы неправильно поняли условие задачи, нужно вставить именно литерал регулярного выражения, а не идентификатор, то есть регулярка должна быть постоянной.
|
|

31.07.2012, 15:23
|
 |
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Не, не знаю как решить
|
|

31.07.2012, 16:09
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от oneguy
|
Вы неправильно поняли условие задачи, нужно вставить именно литерал регулярного выражения, а не идентификатор, то есть регулярка должна быть постоянной.
|
..... какая разница, там eval'ится литерал в "хайде". всё равно он постоянный - хоть в переменной, хоть и не в переменной.
function gcd(m, n) {
return (Array(m+1).join("*")+","+Array(n+1).join("*")).match(/(.+)(?=\1*,\1+$)/)[0].length;
}
alert( gcd(3, 4) ); // 1 - :)
alert( gcd(3, 6) ); // 3
alert( gcd(15, 25) ); // 5
alert( gcd(35, 42) ); // 7
alert( gcd(42, 35) ); // 7 (!) - порядок чисел неважен.
... либо я туплю, не понимаю, о чём Вы, и прошу пояснить.
Последний раз редактировалось melky, 31.07.2012 в 16:11.
|
|

31.07.2012, 17:19
|
Профессор
|
|
Регистрация: 31.05.2012
Сообщений: 396
|
|
melky,
Да, извините, я не сразу понял, что там регулярка просто закодирована и не зависит ни от каких данных.
Засчитал. Решили с моей подсказкой или без?
Жаль, не могу поставить плюсик, что-то глючит сайт Уже поставил.
Последний раз редактировалось oneguy, 31.07.2012 в 17:39.
|
|

31.07.2012, 17:29
|
 |
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
По ходу я конкретный тормоз >.< Еси до этого не додумался
|
|

31.07.2012, 17:45
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от oneguy
|
Решили с моей подсказкой или без?
|
честно? я перед тем как спать лечь, прокрутил три варианта :
Код:
|
1. gcd(2, 4) - простое и составное
2. gcd(3, 7) - два простых
3. gcd(4, 8) - два составных |
запомнил выдачу, и лёг спать. в процессе размышляя, что там за алгоритм.
было 3 варианта, два - неверные.
после того, как зашел на форум, увидел подсказку, и понял, что я на верном пути.
дальше я всё время добивал регулярку 
|
|

31.07.2012, 20:45
|
 |
Профессор
|
|
Регистрация: 21.04.2012
Сообщений: 951
|
|
melky,
oneguy,
раз уж я не понимаю регулярку melky - можете мне её пожалуста объяснить, вот как я её вижу
/
(.+) // просто получаем все содержимое
(?=\1* // опять получаем все содержимое
,\1+$) // <<<<----WTH?
/
|
|

31.07.2012, 21:40
|
 |
Профессор
|
|
Регистрация: 21.04.2012
Сообщений: 951
|
|
oneguy,
melky,
в общем я то думал что хорошо знаю реги (они мне в отличии от других людей быстро и понятно давались, но в 4-ом Флэнагане(как же писать его имя не жирным шрифтом  )(и по которому я учился) не было того что написал melky), а в результате я их не очень хорошо знаю
|
|
|
|