Pregunta

He estado intentando calcular el total de la fila 1500 en el triángulo pascal en c++.

Probé más de 6 fragmentos de código diferentes de toda la web.

Algunos de ellos se estrellaron antes de la décima fila, otros se volvieron locos, etc.

¿Cómo se puede calcular el total de números en la fila 1500 del triángulo pascal?

Creo que debe haber una fórmula para encontrar una fila sin iterar sobre cada fila, porque las iteraciones provocan que el programa falle.

¿Fue útil?

Solución

La suma de los números en cualquier fila es igual a 2 ^ n dónde n es la fila (comenzando en 0).Entonces, en tu caso, sería simplemente 1 << 1499.

enter image description here

Tu respuesta es la siguiente:

17537331055217019373813793980140428996762007940165414412037899012395481925281661101828540443292484630826575203397718758699647274470734979877085519459002350423944978242664548632243401355791731473268341092170069314725677729132473171262691809694657480322332526275875721167754624586680565177898054854942790337156977105108828923716313380366502376637658596066837351781686391648520996613526331666834254976000087526677764529440217091269193357761841856604274688

Otros consejos

Una búsqueda de Google revela de Wiki:

La suma de las entradas en la nth fila del triángulo de Pascal es el ésimo Potencia de 2.

Por lo tanto, tienes que calcular 2 ^ 1500 en lugar de intentar iterar en todas las filas.

La suma de fila del triángulo Pascal es 1<<n con n siendo el número de fila (basado en cero).Su valor final es 1<<1499.

Entonces, su programa Neads para mostrar un entero de 1500 bits, que debe ser el problema principal.Para producir una salida binaria, use

printf("1"); 
for (int i=1;i<1500;i++) printf("0");
printf("\n");

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top