Решение задач 1: Напишите программу 13 - Номер числа Фибоначчи

Сообщения
1 471
Реакции
271
Сайт
tehadm.ru

Номер числа Фибоначчи​

Дано натуральное число A > 1. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что φn=A. Если А не является числом Фибоначчи, выведите число -1.

Входные данные
Вводится натуральное число.

Выходные данные
Выведите ответ на задачу.

Sample Input:
8

Sample Output:
6
 
C-подобный:
package main

import "fmt"

func main() {
    var num int
    a := 0
    b := 1
    counter := 1
    fmt.Scan(&num)
    for b < num {
        a, b = b, a+b
        counter++
    }
    if b == num {
        fmt.Println(counter)
    } else {
        fmt.Println(-1)
    }
}
 
C-подобный:
package main

import "fmt"

func findFibonacciIndex(A int) int {
    if A <= 1 {
        return -1
    }

    Number1 := 1
    Number2 := 1
    sum := 0
    FibonassiNumber := 2

    for sum < A {
        sum = Number2 + Number1
        Number2 = Number1
        Number1 = sum
        FibonassiNumber++
    }

    if sum == A {
        return FibonassiNumber
    }

    return -1
}

func main() {
    var A int
    fmt.Scan(&A)

    result := findFibonacciIndex(A)

    fmt.Printf("%d\n", result)
}
 
Назад
Верх Низ