Форум » Обработка числовых последовательностей » Задача 4104 не сошелся ответ » Ответить

Задача 4104 не сошелся ответ

Ivan: Здравствуйте, не сошелся ответ с задачей 4104 вот мое решение https://pastebin.com/hXfwsX4q

Ответов - 3

Поляков: хйгщекIvan пишет:не сошелся ответ с задачей 4104 [pre2] if x%2==0: k+=f(st,x-1) if x%2!=0: k+=f(st,x-2)[/pre]если число чётное, вы не можете получить его командой "Сделай нечетное".

Ельцова: Здравствуйте, [pre2] function q(a:integer; s:integer):integer; begin; if a=s then q:=1 else if a>s then q:=0 else if a mod 2=0 then q:=q(a+1,s)+q(a*2,s) else q:=q(a+1,s)+q(a*2,s)+q(a+2,s) end; begin; writeln(q(3,9)*q(9,17)*q(17,25)); end. [/pre2] Ответ сходится, если в четных два раза считать один и тот же путь... Почему?

Поляков: Ельцова пишет: if a mod 2=0 then q:=q(a+1,s)+q(a*2,s) else q:=q(a+1,s)+q(a*2,s)+q(a+2,s) В условии сказано "третья прибавляет к четному числу 1, к нечетному – 2". Вы для четного числа не используете третью команду.




полная версия страницы