Question

J'ai essayé de calculer le total de 1500e ligne dans le triangle de pascal en c++.

J'ai essayé plus de 6 extraits de code sur le web.

Certains d'entre eux s'est écrasé avant les 10 rangs, certains de fou etc.

Comment peut-on atteindre le calcul total de numéros dans les 1500e ligne dans le triangle de pascal.

Je pense qu'il doit y avoir une formule pour trouver une ligne sans itération sur chaque ligne, car la itérations provoquant planter le programme.

Était-ce utile?

La solution

La somme des nombres dans une ligne est égale à 2 ^ nn est la ligne (en commençant à 0).Donc dans votre cas, il serait juste 1 << 1499.

enter image description here

Votre réponse est la suivante:

17537331055217019373813793980140428996762007940165414412037899012395481925281661101828540443292484630826575203397718758699647274470734979877085519459002350423944978242664548632243401355791731473268341092170069314725677729132473171262691809694657480322332526275875721167754624586680565177898054854942790337156977105108828923716313380366502376637658596066837351781686391648520996613526331666834254976000087526677764529440217091269193357761841856604274688

Autres conseils

Une recherche Google révèle du wiki:

La somme des entrées de la nième rangée du triangle de Pascal est le nième pouvoir de 2.

Par conséquent, vous devez calculer 2 ^ 1500 au lieu d'essayer de itérer sur toutes les lignes.

La ligne de la somme du triangle de pascal est 1<<n avec n étant le numéro de ligne (en partant de zéro).Votre valeur finale est 1<<1499.

Si votre programme de neads pour afficher un 1500 bits entier, ce qui devrait être le problème principal.pour produire une sortie binaire, l'utilisation

printf("1"); 
for (int i=1;i<1500;i++) printf("0");
printf("\n");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top