Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2019, 10:30   #1
qwertyuio123
 
Регистрация: 09.02.2019
Сообщений: 3
По умолчанию перевести с с++ на python. Помогите исправить ошибку

Задача такая: Генерирование чисел Фибоначчи посредством динамического программирования

C++

#include <stdio.h>
#include <iostream>
using namespace std;

long Fib (int n) {
int i; /* Счетчик*/
long back2=0, back1= 1; /* Последние два значения f[n ] */
long next; /* Промежуточная сумма */
if (n == 0) return (0);
for (i=2; i<n; i++) {
next = back1+back2;
back2 = back1;
back1 = next;
}
return (back1+back2);

}

int main()

{

int n;
cout « "n: ";
cin» n;

cout « Fib(n) « endl;

return 0;

}



Python

def Fib (n):
back2=0
back1=1
i=2
if (n==0):
return 0
while i<n:
next = back1+back2
back2 = back1
back1 = next
i=i+1
return (back1+back2)

def main():
n=int(n)
print (Fib(n))
qwertyuio123 вне форума Ответить с цитированием
Старый 09.02.2019, 10:47   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
n=int(n)
Что это? Где ввод?
p51x вне форума Ответить с цитированием
Старый 09.02.2019, 11:15   #3
qwertyuio123
 
Регистрация: 09.02.2019
Сообщений: 3
По умолчанию

n=input()
n=int (n)
qwertyuio123 вне форума Ответить с цитированием
Старый 09.02.2019, 11:30   #4
qwertyuio123
 
Регистрация: 09.02.2019
Сообщений: 3
По умолчанию

Если я составляю код без подпрограммы, то все работает как надо:
back1 = 1
back2 = 1

n = input("Номер элемента ряда Фибоначчи: ")
n = int(n)

i = 2
if (n==0):
return 0
while i < n:
fib_sum = back1 + back2
back1 = back2
back2 = fib_sum
i = i + 1

print(back2)
qwertyuio123 вне форума Ответить с цитированием
Старый 09.02.2019, 12:19   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

https://ideone.com/WKvjt2 и с функцией все работает
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Python] Помогите понять и исправить ошибки! Bob123 Помощь студентам 4 01.11.2017 11:07
Списки в языке Python. Помогите исправить! Young_programmer Python 9 31.01.2017 20:11
Помогите исправить код и перевести его в C++ Saruman! Помощь студентам 0 20.12.2016 00:31
Помогите исправить ошибку Sharof Общие вопросы по Java, Java SE, Kotlin 5 08.09.2015 13:25
помогите исправить ошибку. alen666 Паскаль, Turbo Pascal, PascalABC.NET 11 08.03.2008 16:43