- 23, Oct 2024
- #1
Вам когда-нибудь хотелось спросить компилятора «Почему?» Большинство из нас были разочарованы, когда код не работал должным образом. Поэтому Mathworks реализовал небольшую приятную функцию:
, that answers the question. To give a few examples from MATLAB:why You suggested it! why To fool the tall Homer! why Don't ask! why(1) Stewie suggested it! why(14) Stop asking! why(8) To please the rich Stewie!
n
Ваша задача – реализовать n = 2: (2 % 8)/2 => To fool
n = 4: (4 % 8)/2 => To satisfy
n = 6: (6 % 8)/2 => To satisfy
n = 8: (8 % 8)/2 => To please
function in your language. The function should work with and without an input argument (alternatively use input (n % 8) / 2
или (1 2 2 3)
). The function must be named n = 2: (2 % 10)/2 => Smart
n = 6: (6 % 10)/2 => The tall
...
(или, написав (n % 10)/2
in STDIN should result in the appropriate string being printed).
Если аргумент не указан или аргумент равен нулю или отрицательному значению, выходная строка должна представлять собой случайную допустимую фразу. Итак, должна быть функция n = 1: ((1+1)/2 % 4) => suggested it
n = 3: ((3+1)/2 % 4) => insisted on it
n = 13: ((13+1)/2 % 4) => did it
, ((n+1)/2 % 4)
, (1 2 2 3)
or n = 1: 1 % 7 => Stewie
n = 2: 2 % 7 => Peter
...
n = 6: 6 % 7 => You
n = 7: 7 % 7 => How should I know?
n = 11: 11 % 7 => The programmer
n = 14: 14 % 7 => Stop asking!
n = 21: 21 % 7 => Don't ask!
который возвращает случайное предложение.
Если входной аргумент, Odd number => Type 1
Even number => Type 2
n % 7 = 0 => Type 3 (% is the modulus operator)
is given (function argument, not STDIN), the output should be the n'th string (defined below). So, How should I know?
Stop asking!
Don't ask!
всегда должен выводить (печатать/отображать) один и тот же результат.
Предложения строятся следующим образом (Тип 1, Тип 2 и Специальное). Все предложения заканчиваются the smart
the bald
the tall
the rich
the stupid
.
To fool
To satisfy
To please
Список лиц:
suggested it
insisted on it
did it
Список концовок:
Stewie
Peter
Homer
The programmer
The system manager
You
Список глаголов:
"Person" "ending" !
"Verb" "adjective" "Person" !
A list of special cases
Список прилагательных:
!
Перечень особых случаев:
why(1)
Способ выбора номера:
Тип предложений:
n
Имена: Энное имя определяется с использованием модуля (%).
why(-1)
Окончания: Энное окончание также определяется с помощью модуля. Предположим, окончания (1, 2 и 3) перечислены как why(0)
. As the numbers are always odd, use why()
why
Прилагательные: Энное прилагательное определяется с помощью модуля. Поскольку числа всегда четные, используйте: why(n)
why
Глаголы: Энный глагол также определяется с помощью модуля. Предположим, что глаголы (1, 2 и 3) перечислены как -1
As the numbers are always even for verbs, use 0
why
Теперь способ создания случайного объекта должен быть довольно простым: просто выберите случайный why
The programmer suggested it.
why
To fool the tall good and smart system manager.
why(2)
You insisted on it.
why(46)
Bill insisted on it.
.
Несколько примеров:
why
Применяются стандартные правила игры в гольф. Победитель будет выбран через неделю со дня публикации задания.
#код-гольф