Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/40: Рейтинг темы: голосов - 40, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 5
1

Вычисление n-ого числа Фибоначчи

27.09.2014, 18:47. Показов 7697. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано целое число n. Необходимо вычислить n-ое число Фибоначчи. Внимание: рекурсивным способом пока не нужно. Мне нужно лишь выяснить, почему получается ошибка: cannot find symbol p (19 строка). Ошибка, как я понял, дурацкая, но я все-таки не смог загуглить ее решение.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
public class Fib {
    public static int main(String[] args) {
            
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
 
            if(n == 0) {
                return 0;
            }
            int f[];
            
            f[0] = 0;
            f[1] = 1;
            
            for(int i = 2; i <= n; i++) {
                f[i] = f[i-1] + f[i-2];
                int p = 0;
                p = f[i];
            }
        
        System.out.println(p);
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2014, 18:47
Ответы с готовыми решениями:

Рекурсия: вычисление числа Фибоначчи с номером n
Здравствуйте,не понимаю что не так.Обязательное условие - использование рекурсии.И еще очень...

Рекурсия: вычисление n-ого числа Фибоначчи
Помогите написать программу в делфи: Условие: Описать рекурсивную функцию function fib(n :...

Вычисление n-ого члена Фибоначчи
Всем привет, реализовал задачу через динамический массив, как еще можно решить? (Я умею гуглить,...

Для заданных чисел: если разность 2-ого и 3-ого числа равна 5, то найти сумму 1-ого и 4-ого числа
Ввести 4 числа . Если разность 2 и 3 числа равна 5 ,то найти сумму 1 и 4 числа

5
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
27.09.2014, 18:51 2
Компилятор не может найти переменную. Вобщем это то что написанно
0
69 / 69 / 39
Регистрация: 22.05.2014
Сообщений: 311
27.09.2014, 19:32 3
Цитата Сообщение от Max_Well Посмотреть сообщение
int f[];
нужно обьявить массив по нормальному:

int[] f = new int[n] - квадратные скобки после типа, а не имени(дак, можно и так но не нужно) и выделить под массив кусок памяти

Цитата Сообщение от Max_Well Посмотреть сообщение
cannot find symbol p (19 строка)
какого в 19!? p там есть, а вот потом на выводе в систем аут p там не видно(ПЭ обьявлена в скобочках цикла фор, а вы вызываете ее после этих скобочек)
1
0 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 5
27.09.2014, 19:58  [ТС] 4
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
public class Fib {
    public static void main(String[] args) {
            
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
            int p = 0;
            if(n == 0) {
                System.out.println("0");
            }
            int[] f = new int[40];
            
            f[0] = 0;
            f[1] = 1;
            
            for(int i = 2; i <= n; i++) {
                f[i] = f[i-1] + f[i-2];
                p = f[i];
                
            }
        System.out.println(p);
 
        }
    }
Вроде бы перестал ругаться на p. Зря я каждую итерацию цикла инициализировал p )) Немного пошаманил, теперь выдает ошибку:
Compilation error main.java:3: error: class Fib is public, should be declared in a file named Fib.java public class Fib {
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
27.09.2014, 20:09 5
Цитата Сообщение от Max_Well Посмотреть сообщение
class Fib is public, should be declared in a file named Fib.java
Можно же в гугле перевести
0
0 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 5
27.09.2014, 20:26  [ТС] 6
Так, с этой проблемой я разобрался, но теперь возникла уже новая, уже логическая ошибка.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
class Fib {
    public static void main(String[] args) {
            
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
 
            int[] f = new int[40];
            
            f[0] = 0;
            f[1] = 1;
            
            
            for(int i = 2; i < n; i++) {
                    f[i] = f[i-1] + f[i-2];
                    System.out.println(f[i]);
                }
        }
    }
Убрал просто public перед class и все заработало.

В общем использование переменной p привела к ошибочному выводу. Теперь я не могу организовать вывод f[i].

Теперь когда ввожу данные, программа ничего не выводит. Почему так?
0
27.09.2014, 20:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2014, 20:26
Помогаю со студенческими работами здесь

Bash. Вычисление n-ого элемента числовой последовательности Фибоначчи
Здравствуйте. Вынужден попросить вас о помощи в написании bash скрипта для вычисление n-ого...

Нахождение n-ого числа Фибоначчи
Знаходження N- го числа Фібоначчі. Перевод: Нахождение n-ого числа Фибоначчи

Перенести числа из конца 1-ого массива в конец 2-ого до тех пор, пока сумма 2-ого массива не превысит сумму 1-ого...
Ребят, помогите пожалуйста Заполнить два массива случайными числами. Если сумма всех элементов...

Вычисление чисел Фибоначчи и номера числа Фибоначчи с накопителями
Требуется три накопителя - текущий номер, само число Фибонначи и предыдущее число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru