Pi volte e (o Torta se ti piace la notazione ambigua) con 100 cifre decimali è:
8.5397342226735670654635508695465744950348885357651149618796011301792286111573308075725638697104739439...
( OIES A019609 ) ( argomento per possibile irrazionalità )
Il tuo compito è quello di scrivere un programma che accetta un numero intero positivo N e restituisce Pi * e troncato con N decimali. ad es. se N = 2, allora l'uscita dovrebbe essere 8.53
.
Questo è un problema di ottimizzazione, quindi vincerà l'invio che può dare l'output corretto per il valore più alto di N.
Per garantire che tutti gli invii vengano giudicati utilizzando la stessa potenza di calcolo, il codice deve essere eseguito su ideone , utilizzando qualsiasi linguaggio supportato. Secondo l' ideone faq , esiste un limite di tempo di esecuzione di 5 secondi per gli utenti non connessi. Questo limite di 5 secondi è quello che devi usare, non il limite di 15 secondi per gli utenti che hanno effettuato l'accesso. (Vedi faq per altri limiti come memoria, dimensioni del codice, ecc.)
In particolare, chiunque non abbia effettuato l'accesso a ideone dovrebbe essere in grado di eseguire il programma su ideone per tutti i valori di N da 1 a un massimo di Nmax e vedere l'output corretto quasi sempre . senza errori Time limit exceeded
o Memory limit exceeded
, ecc. Vince l'invio con la più grande Nmax.
(Indipendentemente dal fatto che il tempo effettivo impiegato sia un fumo nell'arco di 5 secondi, non importa se ideone non dà errori. " Quasi tutto il tempo " è definito come più del 95% del tempo per ogni particolare N.)
Dettagli
- Puoi usare qualsiasi metodo matematico che ti piace per calcolare Pi * e, ma potresti non codificare l'output oltre la prima dozzina di cifre di Pi, e o Pi * e .
- Il tuo programma dovrebbe essere in grado di funzionare per qualsiasi N, date risorse illimitate.
- Puoi usare le costanti Pi o e incorporate se la tua lingua sembra averle.
- Non puoi accedere a siti Web o risorse esterne al tuo codice (se ideone lo consente anche).
- Oltre all'hardcoding e all'accesso a risorse esterne, tutto ciò che ideone consente va quasi sicuramente bene.
- L'input e l'output devono (ovviamente) funzionare con qualunque ideone fornisca l'I / O (solo stdin / stdout). Va bene se hai bisogno di virgolette attorno all'ingresso N o se l'output è qualcosa di simile
ans = ...
, ecc. - Includi un link a uno snippet ideone del tuo codice con la tua Nmax come input.
- Se si verifica un pareggio (probabilmente solo se più invii raggiungono il limite di caratteri di output di 64 KB), la risposta con il punteggio più alto vince.