Pergunta

Estou tentando calcular o total da 1.500ª linha no triângulo pascal em c++.

Tentei mais de 6 trechos de código diferentes de toda a web.

Alguns deles caíram antes da 10ª fila, alguns enlouqueceram, etc.

Como alguém pode calcular o total de números na 1.500ª linha do triângulo pascal.

Acho que deve haver uma fórmula para encontrar uma linha sem iterar em cada linha, porque as iterações causam falha no programa.

Foi útil?

Solução

A soma dos números em qualquer linha é igual a 2 ^ n onde n é a linha (começando em 0).Então, no seu caso, seria apenas 1 << 1499.

enter image description here

Sua resposta é a seguinte:

17537331055217019373813793980140428996762007940165414412037899012395481925281661101828540443292484630826575203397718758699647274470734979877085519459002350423944978242664548632243401355791731473268341092170069314725677729132473171262691809694657480322332526275875721167754624586680565177898054854942790337156977105108828923716313380366502376637658596066837351781686391648520996613526331666834254976000087526677764529440217091269193357761841856604274688

Outras dicas

Uma pesquisa do Google revela do Wiki:

.

A soma das entradas na natura linha do triângulo de Pascal é o nth poder de 2.

Portanto, você tem que calcular 2 ^ 1500 em vez de tentar iterar sobre todas as linhas.

A soma das linhas do triângulo de Pascal é 1<<n com n sendo o número da linha (com base em zero).Seu valor final é 1<<1499.

Portanto, seu programa precisa exibir um número inteiro de 1.500 bits, o que deve ser o principal problema.para produzir uma saída binária, use

printf("1"); 
for (int i=1;i<1500;i++) printf("0");
printf("\n");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top