Ungefähre Fransén-Robinson-Konstante


9

Geben Sie bei einer Eingabe nden Wert der Fransén-Robinson-Konstante mit nZiffern nach der Dezimalstelle mit Rundung aus.

Regeln

  • Sie können davon ausgehen, dass alle Eingaben Ganzzahlen zwischen 1 und 60 sind.
  • Sie dürfen keine verwandten Werte speichern - die Konstante muss berechnet und nicht abgerufen werden.
  • Die Rundung muss nach folgenden Kriterien erfolgen:
    • Wenn die Ziffer nach der letzten Ziffer kleiner als fünf ist, muss die letzte Ziffer gleich bleiben.
    • Wenn die Ziffer nach der letzten Ziffer größer oder gleich fünf ist, muss die letzte Ziffer um eins erhöht werden.
  • Sie müssen nur die ersten n+1Ziffern ausgeben .
  • Es gelten Standardlücken.

Testfälle

>>> f(0)
3

>>> f(1)
2.8

>>> f(11)
2.80777024203

>>> f(50)
2.80777024202851936522150118655777293230808592093020

>>> f(59)
2.80777024202851936522150118655777293230808592093019829122005

>>> f(60)
2.807770242028519365221501186557772932308085920930198291220055

Was ist, wenn Sie keine Unterstützung für beliebige Präzisions-Floats haben?
— Fehler

1
@flawr Ich nehme an, dass die Sprache irgendeine Form der String-Verkettung oder ähnliches verwenden müsste. Andernfalls ist es möglicherweise nicht die Sprache für diese Herausforderung.
— Addison Crump

Schade, das lässt uns im Grunde nur die Zahlen fest codieren. PS: Warum fügst du nicht f(60)zu den Testfällen hinzu? Auf diese Weise müssten die Teilnehmer es nicht extern
— abrufen

@flawr Hardcoding ist von Regel 2 nicht erlaubt.
— Addison Crump

Sind nachgestellte Nullen in Ordnung?
— Mego

Antworten:


7

Mathematica, 44 39 36 25 UTF-8 Bytes

  • -5 Bytes dank Sp3000
  • -3 Bytes dank kennytm
  • -11 Bytes dank Senegrom

Durchgestrichen 44 ist immer noch regulär 44 !!

N[∫1/x!{x,-1,∞},#+1]&

Beispiel:

f=N[∫1/x!{x,-1,∞},#+1]&
f[2]

Ausgänge 2.81.

Erläuterung

N[               , # + 1] 
  ∫1/x!{x,-1,∞}

Der erste Schritt übernimmt Nden Rest mit #(erster Parameter) + 1 Genauigkeit. !(Fakultät) macht das, was Sie erwarten würden. {x, -1, Infinity}legt die Grenzen für das (seltsam formatierte) Integral fest.


Ich kann das nicht testen, also nehme ich diese Runde richtig an?
— Addison Crump

1
@VTCAKAVSMoACE Ich habe nachgesehen n = 60, es rundet richtig. (Die 61erste Ziffer ist eine 8). Sie können in Wolframs Dokumenten nachsehen N.
— NoOneIsHere

Coolio. Ich überprüfe nur.
— Addison Crump

Sie können wahrscheinlich ein Literal ∞anstelle von verwenden Infinity. Ich würde vorschlagen, durch 0 zu teilen, wenn das nicht ComplexInfinitystattdessen produzieren würde ...
— Sp3000

1
versuchen Sie, N[∫1/x!{x,-1,∞},#+1]&wo Unicode-F74C ist; wird wie 𝕕in Mathematica angezeigt . (Beachten Sie, dass der Platz vor &auch nicht notwendig ist ...)
— Senegrom
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.