Comments 18
Function S(k,Smax)
Smax=0;
f=0;
r=k;
while r>0 do
j=r%10;
f=f+j;
Smax=Smax+9;
r=(r-j)/10;
enddo;
return f;
EndFunction
Function FindNumber(iNum) export
var Smax;
i=1;i2=1;
while true do
i=i+1;
i2=i2+2*i-1;
k=iNum*i2*3;
//число, которое дает нужное решение,
//кол-во цифр в числе должно равняться 3*i
if S(k,Smax)=(3*i) then
return k;
endif;
if Smax<(3*i) then
return undefined;
endif;
enddo;
EndFunction
Решение задачи о сложных числах. Ряд сложных чисел 61,87,103,105,114,136,147,166
Спасибо за организацию и за этот пост. С некоторыми задачами пришлось повозиться. Теперь яснее должно стать, как они решаются. По поводу специализации на Курсере, какое участие там принимал Яндекс или будет принимать?
Такие соревнования, курсы и посты с разбором решений действительно помогают выучить новое поколение программистов, спасибо вам! С вашего разрешения, я использую некоторые из задач в coding club для школьников, который я веду. Однако, не могли бы вы пересмотреть свое решение не публиковать тестовые данные? Спасибо.
Ещё время выжрала специфическая сортировка. Оно как бы круто её уметь делать в получившихся сложных структурах, но опять же пусть будет задача именно с акцентом на это.
И если посмотреть таблицу участников, то видно, для всех кто влез в эту задачу, кому она была не под силу, она и оказалась последней, что они пробовали.
gnomeby Да, эта задача по форматированию сложная была для C#. Но некоторые делали быстро. Возможно, использовали как-то функциональные языки.
- как я уже написал в разборе, довольно часто случаются задачи, в которых нужно разобрать входные данные и подготовить результат в нужном формате, специфичный формат вывода заставляет внимательно и аккуратно писать решение;
- мы хотели, чтобы для решения одной из задач нужно было написать объемный фрагмент кода, в котором, если будет необходимо, найти и устранить ошибки, выявленные тестирующей системой;
- мы хотели посмотреть на то, как участники будут распределять задачи по времени,
предполагали, что к данной они приступят после того, как у них не останется других задач для решения или по ним кончатся все идеи.
Ссылка на реализацию -> github.com/agorinenko/yandex_cup2020/blob/master/test_03.py
Команда A занимает более высокое место, чем команда B, если она набрала большее количество очков, или они обе набрали одинаковое количество очков, но команда A одержала больше побед, чем команда B.
Конкретно в данном тесте Cplusplus и Java действительно набрали одинаковое количество очков, но за счет большего числа побед Cplusplus выходит на первое место, а Java занимает второе.
Яндекс.Блиц. 12 алгоритмических задач отборочного раунда и их разборы