Track
/
Euphoria
Euphoria
/
Esercizi
/
Chicchi di grano
Chicchi di grano

Chicchi di grano

Facile

Introduzione

C'era una volta un servo saggio che salvò la vita a un principe. Il re promise di pagare qualunque cosa il servo avesse potuto immaginare. Sapendo che il re amava gli scacchi, il servo disse al re che avrebbe voluto dei chicchi di grano. Un chicco sulla prima casella di una scacchiera, con il numero di chicchi che raddoppia a ogni casella successiva.

Istruzioni

Calcola il numero di chicchi di grano su una scacchiera.

Una scacchiera ha 64 caselle. La casella 1 ha un chicco, la casella 2 ha due chicchi, la casella 3 ha quattro chicchi, e così via, raddoppiando ogni volta.

Scrivi il codice che calcola:

  • il numero di chicchi su una data casella
  • il numero totale di chicchi sulla scacchiera

I numeri in Euphoria

In Euphoria un atom può contenere qualsiasi tipo di numero, con il sottotipo integer pensato per i numeri interi. È possibile risolvere questo esercizio nei linguaggi simili al C restituendo un intero senza segno a 64 bit.

Tuttavia gli interi in Euphoria sono con segno e un bit più piccoli della parola di macchina, quindi troppo piccoli per questo esercizio, mentre gli atom possono contenere interi più grandi con i 64 bit di precisione necessari.

32-bit

Esiste una versione a 32 bit di Euphoria, che esiste ancora per permettere alle applicazioni legacy di continuare a usare dll/so a 32 bit precompilati quando non è disponibile una versione a 64 bit, o quando il wrapper per questi è pieno di offset a 32 bit codificati a mano. Questa versione è del tutto inadeguata a risolvere questo compito, dato che quegli atom hanno solo 53 bit di precisione. Se hai difficoltà a risolvere questo esercizio in locale, assicurati di usare una versione a 64 bit di Euphoria.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Euphoria Exercism

Vuoi iniziare Chicchi di grano?

Iscriviti a Exercism per imparare e padroneggiare Euphoria con 64 esercizi e il mentoring di persone reali, tutto gratis.