Estoy tratando de crear un triángulo de Pascal usando la secuencia de Fibonacci. Estoy buscando esta salida:
0 0 1 0 1 1 0 1 1 2 0 1 1 2 3 0 1 1 2 3 5 0 1 1 2 3 5 8 0 1 1 2 3 5 0 1 1 2 3 0 1 1 2 0 1 1 0 1 0Este es el código que he escrito hasta ahora. Me las arreglé para que la secuencia de Fibonacci se ejecutara en un triángulo, pero no de la manera que quería.
function fiboP(n) { let string = ""; let n1 = 0 let n2 = 1 for (let i = 1; i <= n; i++) { for (let j = 0; j < i; j++) { string += n1 + " "; next_num = n1 + n2; n1 = n2; n2 = next_num; } string += "\n"; } for (let i = 1; i <= n - 1; i++) { for (let j = 0; j < n - i; j++) { string += n1 + " "; next_num = n2 - n1; n2 = n1; n1 = next_num; } string += "\n"; } console.log(string) } fiboP(5) Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 377 233 144 89 55 34 21 13 8Me gustaría entender lo que me falta aquí y si hay una forma más limpia y sencilla de producir el resultado deseado.
Si restablece sus valores cuando pasa a la siguiente línea, debería poder generar el resultado que está buscando
function fiboP(n) { let string = ""; for (let i = 1; i <= n; i++) { let n1 = 0 let n2 = 1 for (let j = 0; j < i; j++) { string += n1 + " "; next_num = n1 + n2; n1 = n2; n2 = next_num; } string += "\n"; } for (let i = 1; i <= n - 1; i++) { let n1 = 0 let n2 = 1 for (let j = 0; j < n - i; j++) { string += n1 + " "; next_num = n2 + n1; n2 = n1; n1 = next_num; } string += "\n"; } console.log(string) } fiboP(7)Como mejora, sugeriré encontrar la secuencia de Fibonacci una vez y luego usar estos valores para crear este triángulo.