Programmierung von Rätseln und Code Golf hat die Beta abgeschlossen. Bald werden wir ein benutzerdefiniertes Site-Design erhalten, und damit werden die Reputationsgrenzen für Privilegien steigen. Viele Benutzer verlieren Berechtigungen auf der Site. Ihre Aufgabe ist es also, ein Programm zu schreiben, das uns sagt, wie viel zusätzlichen Ruf wir benötigen, um unsere Privilegien zu behalten.
Aufgabe
Ihre Aufgabe ist es, den kürzesten Code zu schreiben, um zu ermitteln, wie viel zusätzliche Reputation ein Benutzer benötigt, um seine aktuellen Privilegien nach dem Site-Design zu behalten, wenn die Anzahl der Reputationspunkte gegeben ist.
Input-Output
Sie können Eingaben und Ausgaben nach Belieben annehmen, sofern die folgenden Regeln eingehalten werden:
Eingabe - Eine Ganzzahl von 1 bis einschließlich 250000+ . Ihr Programm oder Ihre Funktion sollte in der Lage sein, größere Zahlen zu akzeptieren, aber es muss Zahlen in diesem Bereich akzeptieren.
Ausgabe - Eine Ganzzahl, die die Anzahl der Reputationspunkte angibt, die der Benutzer erhalten muss, um seine aktuellen Berechtigungen nach dem Abschluss beizubehalten.
Bitte keine Standardlücken .
Beispielalgorithmus
- Variable
i
auf den Eingang setzen - Variable
r
auf Variable setzeni
. - While
r
ist nicht in der Listebeta
:- Subtrahieren
1
vonr
.
- Subtrahieren
- Stellen Sie
n
auf die Positionr
inbeta
. - Auf
r
Artikeln
von setzengraduated
. - Setze Variable
o
auf das Ergebnis vonr
-
i
. - Wenn
o
<
0
:- Variable setzen
o
auf0
.
- Variable setzen
- Ausgabevariable
o
.
Tabellen
Tabelle der Berechtigungen, die geändert werden
| privilege name | beta rep | graduation rep |
-+-----------------------------+----------+----------------+-
| create tags | 150 | 1500 |
| access review queues | 350 | 500 |
| cast close and reopen votes | 500 | 3000 |
| established user | 750 | 1000 |
| edit questions and answers | 1000 | 2000 |
| create tag synonyms | 1250 | 2500 |
| approve tag wiki edits | 1500 | 5000 |
| access to moderator tools | 2000 | 10000 |
| protect questions | 3500 | 15000 |
| trusted user | 4000 | 20000 |
| access to site analytics | 5000 | 25000 |
-+-----------------------------+----------+----------------+-
| privilege name | beta rep | graduation rep |
Tabelle der Berechtigungen, die sich nicht ändern
| privilege name | reputation |
-+------------------------------+------------+-
| create posts | 1 |
| participate in meta | 1 |
| create wiki posts | 10 |
| remove new user restrictions | 10 |
| vote up | 15 |
| flag posts | 15 |
| talk in chat | 20 |
| comment everywhere | 50 |
| set bounties | 75 |
| create chatrooms | 100 |
| edit community wiki | 100 |
| vote down | 125 |
-+------------------------------+------------+-
| privilege name | reputation |
Testfälle
wizzwizz4 | 750 | 2250
cat | 2004 | 7996
Dennis ♦ | 72950 | 0
Dr Green Eggs and Ham DJ | 4683 | 15317
New User | 1 | 0
Zum Zeitpunkt des Schreibens sind nicht alle Reputationszählungen korrekt.
Wenn Sie möchten, dass Ihre vergangene oder gegenwärtige Reputation hier gezählt wird, kommentieren Sie sie einfach unten und ich werde sie möglicherweise hinzufügen.