Данный отчёт сгенерирован 10.02.2023 18:21:31 UTC.
HTML версия (этот сайт) сгенерирован 10.02.2023 18:21:38 UTC.
Коммит: [bfeb65b9] add automatic zip creation 10.02.2023 18:21:31
HTML версия (этот сайт) сгенерирован 10.02.2023 18:21:38 UTC.
Коммит: [bfeb65b9] add automatic zip creation 10.02.2023 18:21:31
Задача: Фабрика Фібоначчі
10.02.2023 18:21:31
Описание: Визначте функцію fib(), яка по кожному виклику повертає чергове число Фібоначчі.
Рішення має вводити в глобальну область лише ім'я функції fib і не створювати додаткових властивостей функції fib або її властивостей.
10.02.2023 18:21:31
Решений: 22
10.02.2023 18:21:31
Фабрика Фібоначчі
10.02.2023 18:21:31
fib.count = 0
function fib() {
fib.count++
function counter(n){
if(n == 1){
return 1
}
if (n == 2)
return 1;
if (n > 2){
return counter(n - 1) + counter(n - 2)}
}
return counter(fib.count)
}
let fib = (function() {
let current = 0, next = 1;
return function() {
let oldCurrent = current;
current = next;
next = oldCurrent + next;
return current;
}
})();
function fib() {
let [a, b] = [0, 1];
fib = function fib() {
[a, b] = [b, a + b];
return b;
};
return 1;
}
fib.count = 0
function fib() {
fib.count++
function counter(n){
if(n == 1){
return 1
}
if (n == 2)
return 1;
if (n > 2){
return counter(n - 1) + counter(n - 2)}
}
return counter(fib.count)
}
function fib(){
let temp, a = 0, b = 1
function fibb(){
temp = b
b = a + b
a = temp
return a
}
return fibb
}
fib = fib()
let n = 0
function fib()
{
n++
return Math.round((((1 + Math.sqrt(5))/2)**n) * Math.sqrt(5)/5)
}
fib.count = 0;
let arr = [1,1];
function fib(){
let count = ++fib.count;
if (count <= 2) return arr[count - 1];
arr.push(arr.at(-1) + arr.at(-2));
return arr.at(-1);
}
global.c = 0;
let fib = function fib() {
function fibN(n) {
if (n <= 2) return 1;
else return fibN(n - 1) + fibN(n - 2);
}
global.c++;
return fibN(c);
};
function fib(){
if(this.fib == undefined){
this.fib = [0,1]
d = 1
count = 0
return 1
}
else{
count=this.fib[d]+this.fib[d-1]
this.fib.push(count)
d=d+1
}
return count
}
function factory() {
let n = 1;
function next() {
function fi(n)
{
if(n< 3)
return 1;
return fi(n-1)+fi(n-2);
}
const q = fi(n);
n++;
return q;
}
return next;
}
const fib = factory();
let a = 0, b = 1;
function fib() {
let c = a + b;
a = b;
b = c;
return a;
}
let n = 0;
function fib () {
n++;
let f = Math.round(Math.sqrt(5)/5 * ((1+Math.sqrt(5))/2)**n)
return f;
}
let n = 0;
function fib(){
n++;
return Math.round(Math.sqrt(5)/5 * ((1+Math.sqrt(5))/2)**n);
}
function factory() {
let n = 1;
function fibonacci() {
function fibon(n)
{
return (n< 3)? 1:fibon(n-1)+fibon(n-2);
}
let b = fibon(n);
n++;
return b;
}
return fibonacci;
}
let fib = factory();
function f(){
let n1 = 0;
let n2 = 1;
function fib(){
n2 = n2+n1;
n1 = n2-n1;
return n1;
}
return fib;
}
const fib = f();
var count = 1;
function fib() {
var fibo = [0, 1];
count++;
for (var i = fibo.length; i < count; i++) {
fibo[i] = fibo[i - 2] + fibo[i - 1];
}
return fibo[count - 1];
}
counter = 1;
function fib() {
fibonach = [0, 1];
counter++;
for (var i = fibonach.length; i < counter; i++) {
fibonach[i] = fibonach[i - 2] + fibonach[i - 1];
console.log(fibonach)
}
return fibonach[fibonach.length - 1];
}
let fib=(prev=0,curr=1)=>{
return ()=>{
[prev,curr]=[curr,prev+curr]
return prev
}
}
fib=fib()
fib.count = 0
function fib() {
fib.count++;
counter = (n)=> (n==1) || (n == 2) ? 1 : counter(n - 1) + counter(n - 2)
return counter(fib.count)
}
let fib = (() => {
function f() {
let t = f.a;
f.a = f.b;
f.b += t;
return f.a;
}
f.a = 0;
f.b = 1;
return f;
})();
function fib() {
let [a, b] = [0, 1];
fib = function fib() {
[a, b] = [b, a + b];
return b;
};
return 1;
}
fib.count = 0;
fib.first = 1;
fib.second = 1;
fib.third = 0;
function fib(){
if(fib.count < 2){
fib.count++;
return fib.first;
}
else{
fib.third = fib.first + fib.second;
fib.first = fib.second;
fib.second = fib.third;
fib.count++;
return fib.third;
}
}
function fib() {
fib.count++
function counter(n){
if(n == 1){
return 1
}
if (n == 2)
return 1;
if (n > 2){
return counter(n - 1) + counter(n - 2)}
}
return counter(fib.count)
}
let current = 0, next = 1;
return function() {
let oldCurrent = current;
current = next;
next = oldCurrent + next;
return current;
}
})();
let [a, b] = [0, 1];
fib = function fib() {
[a, b] = [b, a + b];
return b;
};
return 1;
}
function fib() {
fib.count++
function counter(n){
if(n == 1){
return 1
}
if (n == 2)
return 1;
if (n > 2){
return counter(n - 1) + counter(n - 2)}
}
return counter(fib.count)
}
let temp, a = 0, b = 1
function fibb(){
temp = b
b = a + b
a = temp
return a
}
return fibb
}
fib = fib()
function fib()
{
n++
return Math.round((((1 + Math.sqrt(5))/2)**n) * Math.sqrt(5)/5)
}
let arr = [1,1];
function fib(){
let count = ++fib.count;
if (count <= 2) return arr[count - 1];
arr.push(arr.at(-1) + arr.at(-2));
return arr.at(-1);
}
let fib = function fib() {
function fibN(n) {
if (n <= 2) return 1;
else return fibN(n - 1) + fibN(n - 2);
}
global.c++;
return fibN(c);
};
if(this.fib == undefined){
this.fib = [0,1]
d = 1
count = 0
return 1
}
else{
count=this.fib[d]+this.fib[d-1]
this.fib.push(count)
d=d+1
}
return count
}
let n = 1;
function next() {
function fi(n)
{
if(n< 3)
return 1;
return fi(n-1)+fi(n-2);
}
const q = fi(n);
n++;
return q;
}
return next;
}
const fib = factory();
function fib() {
let c = a + b;
a = b;
b = c;
return a;
}
function fib () {
n++;
let f = Math.round(Math.sqrt(5)/5 * ((1+Math.sqrt(5))/2)**n)
return f;
}
function fib(){
n++;
return Math.round(Math.sqrt(5)/5 * ((1+Math.sqrt(5))/2)**n);
}
let n = 1;
function fibonacci() {
function fibon(n)
{
return (n< 3)? 1:fibon(n-1)+fibon(n-2);
}
let b = fibon(n);
n++;
return b;
}
return fibonacci;
}
let fib = factory();
let n1 = 0;
let n2 = 1;
function fib(){
n2 = n2+n1;
n1 = n2-n1;
return n1;
}
return fib;
}
const fib = f();
function fib() {
var fibo = [0, 1];
count++;
for (var i = fibo.length; i < count; i++) {
fibo[i] = fibo[i - 2] + fibo[i - 1];
}
return fibo[count - 1];
}
function fib() {
fibonach = [0, 1];
counter++;
for (var i = fibonach.length; i < counter; i++) {
fibonach[i] = fibonach[i - 2] + fibonach[i - 1];
console.log(fibonach)
}
return fibonach[fibonach.length - 1];
}
return ()=>{
[prev,curr]=[curr,prev+curr]
return prev
}
}
fib=fib()
function fib() {
fib.count++;
counter = (n)=> (n==1) || (n == 2) ? 1 : counter(n - 1) + counter(n - 2)
return counter(fib.count)
}
function f() {
let t = f.a;
f.a = f.b;
f.b += t;
return f.a;
}
f.a = 0;
f.b = 1;
return f;
})();
let [a, b] = [0, 1];
fib = function fib() {
[a, b] = [b, a + b];
return b;
};
return 1;
}
fib.first = 1;
fib.second = 1;
fib.third = 0;
function fib(){
if(fib.count < 2){
fib.count++;
return fib.first;
}
else{
fib.third = fib.first + fib.second;
fib.first = fib.second;
fib.second = fib.third;
fib.count++;
return fib.third;
}
}