/
Hoho_665
/
algorithms
Обзор
Документация
Войти
/
Hoho_665
/
algorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
algorithm/fibanachy.go
39 строк
997 B
gen
Added Fibanachy algorthm
11 янв 2025, 23:53
11 янв 2025, 23:53
861659f
Код
Авторство
О чём код?
package algorithm import ( "fmt" "runtime" ) // Для 32 битной архитектуры максимальное число Фибоначчи, которое можно вычислить для int - 46 // Для 64 битной архитектуры максимальное число Фибоначчи, которое можно вычислить для int - 91 func Fiba(n int) int { if n == 0 { return 0 } a := 0 b := 1 for i := 2; i <= n+1; i++ { tmp := a + b a = b b = tmp } return b } // Декоратор, который проверяет разрядность системы и ограничивает значение n func CheckSystemArchitecture(f func(int) int) func(int) int { return func(n int) int { var maxN int if runtime.GOARCH == "386" { maxN = 46 } else { maxN = 91 } if n > maxN { fmt.Printf("Warning: n is too large for the current system architecture. Limiting n to %d.\n", maxN) n = maxN } return f(n) } }