Domanda

Ho cercato di calcolare il totale della 1500a riga nel triangolo Pascal in C ++.

Ho provato più di 6 diversi frammenti di codice da tutto il web.

Alcuni di loro si sono schiantati prima della decima riga, alcuni impazziti ecc.

Come si può raggiungere il calcolo totale dei numeri nella 15.000 riga nel triangolo Pascal.

Penso che ci debba essere una formula per trovare una riga senza interazione su ogni riga, perché le iterazioni causano il crash del programma.

È stato utile?

Soluzione

La somma dei numeri in qualsiasi riga è uguale a 2 ^ n dove n è la riga (a partire da 0).Quindi, nel tuo caso, sarebbe solo 1 << 1499.

Inserisci Descrizione dell'immagine qui

La tua risposta è la seguente:

.

17537331055217019373813793980140428996762007940165414412037899012395481925281661101828540443292484630826575203397718758699647274470734979877085519459002350423944978242664548632243401355791731473268341092170069314725677729132473171262691809694657480322332526275875721167754624586680565177898054854942790337156977105108828923716313380366502376637658596066837351781686391648520996613526331666834254976000087526677764529440217091269193357761841856604274688

Altri suggerimenti

Una ricerca Google rivela da Wiki:

.

La somma delle voci nella Nth Fiw of Pascal's Triangle è l'ennesima Potenza di 2.

Quindi devi calcolare 2 ^ 1500 invece di cercare di ingata su tutte le righe.

La riga della riga del triangolo Pascal è 1<<n con n è il numero di riga (a base zero).Il tuo valore finale è 1<<1499.

Quindi il tuo programma dovrebbe disporre un numero intero di 1500 bit, che dovrebbe essere il problema principale.Per produrre un'uscita binaria, utilizzare

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top