А какое задание нельзя решить больше чем одним способом?
например сложить 2 числа
<?php
echo $a+$b;
?>
<?php
$c[]=$a;
$c[]=$b;
echo array_sum($c);
?>
<?php
$c= $a+$b;
echo $c;
?>
или я не понял что значит "способом"?)
Вид для печати
Если проверяющий будет внимателен, то он оценить последнее задание человека который выложил несколько.
Может просто добавить в задание еше один пункт:
- проверить введенное чилсо на валидность ? =)
Letmetouchyou, там-же в википедии лежит регулярка для этого :1135:
Конкурс на знание истории древнего Рима :0044:
Кто залил архив без указания своего ника и номера задания не заливайте заново! Просто учтите на будующее!
Да уж, бурный старт однако) Страница "Кто на форуме" подтверждает огромный резонанс, вызванный конкурсом и это радует.:0024:
А как по вашему правильнее написать в римских число 49 IL ілі XLIX? в энциклопедиях правильно XLIX а препы в универе повечному твердят что IL правильно.
IL не верно. но тут верно.
P.S. Если уж копируете задачи, то копируйте условия (и правила) полностью.
http://projecteuler.net/index.php?se...problems&id=89
Уважаемые жюри, огромная просьба, дайте ответ!!!
нужно как, чтобы короче записывалось, не смотря на верность написание римского числа или кратчайший вид правильно записанного римского числа.
Просто здесь есть два варианта:
Записать короче 49:
IL -- Но увы википедия гласит, что это неверная запись. Верная -- XLIX
Также припустим и со 99:
IC -- неверная запись
XCIX -- верная запись
Короче я понял задание так. (в принципе так и сделал)
- Запись может быть "невалидной".
- Скрипт должен вернуть любой вариант (включая "невалидный") но который записывается короче.
тоесть Вы хотите сказать что 399 короче записать как ICD? :1138:
Дополню вопрос: просят составить римское ЧИСЛО наиболее коротко или набор римских ЦИФР который имеет минимальную длинну. Это как набор букв не обязан быть словом, а слово обязано быть набором букв.
Короче загвоздка вся в том что официальная спецификация была написана около 500 лет до нашей эры (по этому копать архивы чтоб уточнить спорные моменты весьма затруднительно)
Webmaster,тогда, скажите пожалуйста, как Вы будете проверять скрипт (в слепую, на работоспособность), если введете припустим:
echo NumberRum(str_repeat('I', 48));
Конечно по Вашему задантю, короче будет IIL, но как тогда можно будет сказать, что скрипт без ошибки обработал?
Короче, я толком и сам не понял Вашего критерия проверки в Вашем задании, даю результат так, как есть. На мой взгляд здесь нужно учитывать правильность!!! Поскольку сами потом заплутаетесь =) От сами проверте.... Пол часа только что на это потратил.
укажите максимально число которо будет использоваться при проверке. 4000? или больше? если больше то следует ли использовать расширенную запись (V_, X_, L_, C_, D_, M_)?
acad, дело не максимальном числе, а в используемых последовательностях чисел
1000000 = M_ = 1000 раз M. что короче?
А как у Вас должно записыватся число 998?
Неужели: IIM -- оно ведь короче?
А 197, 487, 904, 978.
Чет мне кажется, что споров будет очень много!!!
я разгадал суть пустоши!
у них там Попов сидит и валидные задания придумывает :D
Flok,в яблочко..... =))))) +1
IIM не 998 а 1000. ибо если следовать правилам (цитата вебмастера с википедии) то IIM = I + IM = I + (M - I) = M = 1000
грубо говоря если есть число ABCDE то между символами надо поставить плюсы везде. за исключением случая когда следующий символ меньше текущего, тогда надо отнять текущий символ.
Ну хоть кто-то читать умеет. Именно так и написано, к КРАТЧАЙШЕМУ виду. Что написано, то и делаем. Не указано же что к ПРАВИЛЬНОМУ виду? ВОт значит и не надо это.
Сразу видно, кто действительно с заказчиками много сталкивается, думаю что про инициативность все знают шутку. А больше всего люблю анекдот, типа про военных:
- Бойцы, сегодня будем грузить люминий.
- Товарищ командир, не люминий, а алюминий.
- Тааааак... а дюже умный будет грузить чугуний...
Запомните этот анекдот :) Ибо так и получается ВСЕГДА.
Жаль что поздно я это понял, тогда решение было бы проще...
echo null;
Не "вадидный" конечно результат, но мы можем предположить что он подходит (и пофигу что он неправильный)
По поводу правильных результатов надо было бы (внимание спойлер, а точнее почти готовое решение)
- Решить о каком стандарте речь (о том в котором символы не должны повторяться более трёх раз или в том в котором могут)
- В зависимости от этого проверить является ли число более чем 4000 (или не проверять если используем вариант где плевать на повторение символов)
- Составить число согласно правилам (или не соглашаясь с правилами, но в таком случае решение было бы очень "тяжёлое" для процессора ибо пришлось бы учитывать все варианты включая "IM")
Главная проблема, что слева от большего числа не допускается повторения меньшего числа.
IIIVIIIIIIIII = III VI IIIIIIII = 17
IIIVIIIIIIIII = II IV IIIIIIIII = 15
IIIIVIIIIIIII = IIII VI II II II I = 17
IIIIVIIIIIIII = III IV IIIIIIII = 15
Ну можно наверное допустить что если слева есть меньшая цифра, то принимать во внимание только одну.
alexdrob, IIIIVIIIIIIII - 15, и никак по другому (ну если откинуть все правила кроме одного - "складываем все, не считая случая когда меньшая цифра стоит перед большей")
да и как тогда будет VIIIX ? :) а может это 18, а может и 13 тогда или вообще 2 :)
Как написано - Свалку из всего ввода привести к человеческому просуммировав.
То есть типа : IIIIIVIVIIII - это XX
или : IIIIIVIVIIIILXMCCCLMII - это MMCCCCXXXII
Добавляем ещё C хоть в начало: CIIIIIVIVIIIILXMCCCLMII и получаем MMDXXXII
Короче, как в задании :
Задание №1:
Дано число, записанное римскими цифрами, любым из способов:
IIIIIIIIIIIIIIII - это 16.
VIIIIIIIIIII - это 16.
VVIIIIII - это 16.
XIIIIII - это 16
VVVI - это 16.
XVI - и даже это 16.
(это одно и тоже число, все записи правильные) - то есть свалка в нормальный вид с суммой. ВСЕ. Читайте внимательно ЗАДАНИЯ
Вы не поняли что значит "способом". Имелась в виду не техническая реализация, а логическая. Например задача - "написать игру на шахматной доске с шахматными фигурами". Можно ее реализовать по правилам шахмат, а можно и придумать свои правила, т.к. не указано как могут ходить фигуры, кто первый начинает и т.д. В задании номер 1 такая-же неоднозначность. Задача - "привести введенное число к кратчайшему виду", но не сказано что ответ может содержать некорректную форму записи, по этому кждый может решать так как хочет и оба решения будут верными.