С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.06.2019
Сообщений: 12

Определить в заданной последовательности целых чисел количество чисел Фибоначчи

17.06.2019, 20:04. Показов 2330. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить в заданной последовательности целых чисел количество чисел Фибоначчи.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2019, 20:04
Ответы с готовыми решениями:

Определить в заданной последовательности целых чисел количество чисел Фибоначчи
Определить в заданной последовательности целых чисел количество чисел Фибоначчи.

Определить в заданной последовательности целых чисел количество чисел Фибоначчи
Выполнить задания, если задана последовательность целых чисел длиной n. Определить в заданной последовательности целых чисел количество...

Определить, содержится ли в заданной последовательности целых чисел хотя бы одно число Фибоначчи
Помогите написать) 3. задача. Определить, содержится ли в заданной последовательности целых чисел хотя бы одно число Фибоначчи ...

4
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
24.06.2019, 15:32
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
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.IntStream;
 
public class Helper {
    private static List<Long> fiboArr = new  ArrayList<>();
 
    public static void main(String[] args) {
        fillFiboArray();
        System.out.println("Тут: ");
        int [] arrInt = IntStream.generate(() -> ThreadLocalRandom.current().nextInt(0, 100))
                .limit(11)
                .peek(i -> System.out.print(i + ", "))
                .toArray();
        System.out.println("\nЧисел Фибонначи = " + IntStream.of(arrInt).filter(i -> fiboArr.contains((long) i)).count());
 
    }
 
    private static void fillFiboArray() {
        fiboArr.add(0L);
        long lastFibo = 1;
        fiboArr.add(1L);
        long corrFibo = 2;
        fiboArr.add(2L);
        long nextFibo = 3;
        int steps = 0;
        while (nextFibo > lastFibo) {
            nextFibo = lastFibo + corrFibo;
            fiboArr.add(nextFibo);
            lastFibo = corrFibo;
            corrFibo = nextFibo;
            steps++;
        }
        fiboArr.remove(fiboArr.size() - 1);
    }
}
возможный результат работы:
Тут:
4, 92, 2, 6, 71, 8, 74, 27, 67, 1, 57,
Чисел Фибонначи = 3
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
25.06.2019, 11:15
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
25
26
27
28
29
public class Main {
    private static IntPredicate isFibonacci = x -> {
        int a = 0;
        int b = 1;
        int f = 1;
 
        while (b < x) {
            f = a + b;
            a = b;
            b = f;
        }
 
        return x == f;
    };
 
    public static void main(String[] args) {
        int a[] = {1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765};
        int b[] = {1, 2, 3, 4, 5, 6, 7, 8};
 
        System.out.println(countElements(a, isFibonacci));
        System.out.println(countElements(b, isFibonacci));
    }
 
    public static long countElements(int a[], IntPredicate predicate) {
         return Arrays.stream(a)
                .filter(predicate)
                .count();
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
25.06.2019, 11:35
Лучший ответ Сообщение было отмечено Aviz__ как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private static long countFibonacci(int[] ints) {
        return Arrays.stream(ints).filter(App::isFibonacci).count();
    }
 
    private static boolean isFibonacci(int i) {
        return isPerfectSquare(5 * i * i + 4) || isPerfectSquare(5 * i * i - 4);
    }
 
    private static boolean isPerfectSquare(int i) {
        int s = (int) sqrt(i);
        return s * s == i;
    }
 
    public static void main(String[] args) {
        int[] ints = ThreadLocalRandom.current().ints(0, 100).limit(10).toArray();
        System.out.format("There are %d fibonacci numbers in %s\n", countFibonacci(ints), Arrays.toString(ints));
    }
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
25.06.2019, 12:24
Цитата Сообщение от xoraxax Посмотреть сообщение
i * i
достаточно быстро выйдет за пределы int.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2019, 12:24
Помогаю со студенческими работами здесь

Определить количество положительных и отрицательных целых чисел в заданной последовательности
с++. даны натуральное число n, действительные числа a1, .,an 1 Определить количество положительных и отрицательных целых чисел 2...

В заданной последовательности целых чисел найти количество чисел кратных заданному
Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 7. Программа получает на вход целые...

В последовательности целых чисел определить сумму и количество четных чисел, кратных 5
Напишите программу, которая в последовательности целых чисел определяет их сумму и количество четных чисел,кратных 5. Программа получает на...

В последовательности целых чисел определить количество чётных чисел, кратных 7
Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7. Программа получает на вход...

В последовательности целых чисел определить количество четных чисел, кратных 7
Написать программу которая в последовательности целых чисел определяет кол-во четных чисел кратных 7.Кол-во введеных чисел неизвестно,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru