М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
maxim090
maxim090
17.05.2022 10:16 •  Информатика

Номер числа Фибоначчи Последовательность Фибоначчи определяется так
= 0, ф= 1, = ф-1+ф-12
Дано натуральное число А. Определите, каким по счету числом фибоначчи оно является,
то есть выведите такое число , что A. Если А не является числом Фибоначчи.
Введите число -1 1
Входные данные:
Вводите натуральное число А, не превышающее 2*10**9(в девятой степени).
Выходные данные
Выведите ответ на задачу,
Примеры
Ввод:6
Вывод:8
Ввод:10
Вывод:-1
Решите на питоне) задача по теме «цикл while” так что сложного не пишите )

👇
Ответ:
малика2071
малика2071
17.05.2022

Классическая последовательность Фибоначчи выглядет как 1, 1, 2, 3, 5, 8,  13, 21, 34, 55,...

Ввод: 8 должен давать Вывод: 6.

Код:

def check_fib(a: int) -> int:

   if a == 1:

       return 1

   count = 2

   f1, f2, f3 = 0, 1, 1

   while f3 < a:

       f1 = f2

       f2 = f3

       f3 = f1 + f3

       count += 1

   if f3 != a:

       return -1

   return count

print(check_fib(6))

print(check_fib(8))

print(check_fib(10))


Номер числа Фибоначчи Последовательность Фибоначчи определяется так = 0, ф= 1, = ф-1+ф-12 Дано натур
Номер числа Фибоначчи Последовательность Фибоначчи определяется так = 0, ф= 1, = ф-1+ф-12 Дано натур
4,4(19 оценок)
Открыть все ответы
Ответ:
ННеетт
ННеетт
17.05.2022

Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:


#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <conio.h>

#define RANDOM_MIN -9

#define RANDOM_MAX 9

int main(void) {

srand(time(NULL)); /* for "visible" random */

 

int N;

scanf("%d", &N);

 

int *A = malloc(sizeof(int) * N);

int sum = 0;

int prd = 1;

 

printf("elements: ");

 

int i;

for (i = 0; i < N; i++) {

 A[i] = RANDOM_MIN + rand() % (RANDOM_MAX + abs(RANDOM_MIN) + 1);

 

 printf("%d ", A[i]);

 

 if (A[i] > 0) {

  sum += A[i];  

 } else if (A[i] < 0) {

  prd *= A[i];

 }

}

 

printf("\n");

printf("summa: %d\n", sum);

printf("product: %d\n", prd);

 

if (sum > prd) {

 int max = A[0];

 

 for (i = (0 + 1); i < N; i++) {

  if (max < A[i]) {

   max = A[i];

  }

 }

 

 printf("max element is: %d", max);

} else {

 printf("product higher than summa");

}

 

getch();

free (A);

return 0;

}

4,4(82 оценок)
Ответ:
Snezhana206
Snezhana206
17.05.2022

Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:


#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <conio.h>

#define RANDOM_MIN -9

#define RANDOM_MAX 9

int main(void) {

srand(time(NULL)); /* for "visible" random */

 

int N;

scanf("%d", &N);

 

int *A = malloc(sizeof(int) * N);

int sum = 0;

int prd = 1;

 

printf("elements: ");

 

int i;

for (i = 0; i < N; i++) {

 A[i] = RANDOM_MIN + rand() % (RANDOM_MAX + abs(RANDOM_MIN) + 1);

 

 printf("%d ", A[i]);

 

 if (A[i] > 0) {

  sum += A[i];  

 } else if (A[i] < 0) {

  prd *= A[i];

 }

}

 

printf("\n");

printf("summa: %d\n", sum);

printf("product: %d\n", prd);

 

if (sum > prd) {

 int max = A[0];

 

 for (i = (0 + 1); i < N; i++) {

  if (max < A[i]) {

   max = A[i];

  }

 }

 

 printf("max element is: %d", max);

} else {

 printf("product higher than summa");

}

 

getch();

free (A);

return 0;

}

4,6(93 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ