На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 208
ссылка на сообщение  Отправлено: 12.12.22 15:50. Заголовок: ege 16 задание 70


Константин Юрьевич, здравствуйте!

Почему опубликованные программы к задаче 70 из ege 16 дают разные ответы 105 - паскаль и, 6 - питон, а в ответах стоит - 6, а не 105?

Результат работы программы в паскале
F(5) = 15
F(10) = 25
F(15) = 35
F(20) = 45
...
F(50) = 105

Результат работы программы в питоне
F(5) = 6
F(10 )= 7
F(15) = 8
F(20) = 9

F(50) = 6


Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]







Сообщение: 211
ссылка на сообщение  Отправлено: 13.12.22 03:11. Заголовок: s11kai пишет: F(50)..


s11kai пишет:

 цитата:
F(50) = 105


Простите, затупил! Паскаль дает значение, а питон - конечный результат! Сумма цифр 105 = 6!

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 213
ссылка на сообщение  Отправлено: 13.12.22 04:07. Заголовок: программа на паскале, позволяющая получить верный ответ


Для интересующихся!
Вот код доработки, позволяющий получить верный ответ, а не промежуточное значение, которое на эге можно случайно выдать за ответ!
 
var s,ss:integer;
function F( n: integer ): integer;
begin
if n < 4 then begin
Result := n-1;
Exit;
end;

if (n > 3) and (n mod 3=0) then
Result :=n+ 2*F(n-1)
else
Result :=F(n-2)+F(n-3)
end;
begin
s := F(25);
ss:=0;
while s>0 do begin
ss := ss+s mod 10;
s := s div 10;
writeln( 'summa = ',ss );
end;

end.


Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 214
ссылка на сообщение  Отправлено: 13.12.22 04:29. Заголовок: К сожалению паскаль ..


К сожалению паскаль слишком долго думает, на старой машине ответа можно и не дождаться!
Для тех, кто страшится питона, а правильный ответ получить хочется, предлагаю решение в Excel

Если что будет непонятно, пишите - поясню

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 215
ссылка на сообщение  Отправлено: 13.12.22 05:47. Заголовок: совет для начинающих...


s11kai пишет:
  

 цитата:
m = {}
def F( n ):
if n in m:
return m[n]
if n == 0:
res = 1
elif n > 0:
res = 2*F(1-n) + 3*F(n-1) + 2
else:
res = -F(-n)
m[n] = res
return res

print( sum( map(int, str(F(5))) ) )


Оказывается, что не так страшен черт, как его малюют, иными словами, если вы, как и я, не понимаете что такое {} и map, и как это работает, то не отчаивайтесь, можно обойтись и без них!

Набираем программу как обычно:
 
def F( n ):
if n == 0:
res = 1
elif n > 0:
res = 2*F(1-n) + 3*F(n-1) + 2
else:
res = -F(-n)
return res

print(F(50))

и, запустив ее, через некоторое время получаем результат - 105..
Продолжительность ожидания будет зависеть от вашего железа, но можно ускорить работу программы, добавив вначале всего две строки!!!

from functools import lru_cache
@lru_cache(None)


Ну а если не полениться и добавить еще 5 строк, то получим точно такой же результат как и выдает "страшный код" с {} и map, а ниже выделено то, что они примерно и делают!
 
from functools import lru_cache
@lru_cache(None)


def F( n ):
if n == 0:
res = 1
elif n > 0:
res = 2*F(1-n) + 3*F(n-1) + 2
else:
res = -F(-n)
return res

s = F(50)
ss = 0
while s>0:
ss = ss+s%10;
s = s//10;

print(ss)


Удачи!

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2029
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет