QQuotaMosaic
KI-Arbeitsumgebung für Code

Zuteilung nach größten Resten

Verteilen Sie bis zu 10000 Sitze auf höchstens 1000 nicht negative ganzzahlige Gewichte nach größten Resten.

● ● ●QuotaMosaic●
Arbeitsabläufe · Zuteilung nach größten Resten ×
def allocate(weights, seats):
    if type(weights) not in (list, tuple) or len(weights) > 1000:
        raise ValueError("weights.container")
    weights = tuple(weights)
    if type(seats) is not int or not 0 <= seats <= 10000:
        raise ValueError("seats.range")
    if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
        raise ValueError("weights.invalid")
    total = sum(weights)
    if total == 0:
        if seats:
            raise ValueError("weight.zero")
        return [0] * len(weights)
    result = [w * seats // total for w in weights]
    remaining = seats - sum(result)
    order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
    for i in order[:remaining]:
        result[i] += 1
    return result
✳Verteilen Sie bis zu 10000 Sitze auf höchstens 1000 nicht negative ganzzahlige Gewichte nach größten Resten.
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
01

Modelle

Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.

02

Projekt

Prüfen Sie Nullgewichte und gleiche Reste mit Eingabereihenfolge als Entscheidung und weisen Sie positive Zuteilung bei Gesamtgewicht null vor der Division zurück.

03

Vor dem Anwenden prüfen

Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

Arbeitsabläufe

Zuteilung nach größten Resten

Arbeitsabläufe ↗
Arbeitsabläufe
def allocate(weights, seats):
    if type(weights) not in (list, tuple) or len(weights) > 1000:
        raise ValueError("weights.container")
    weights = tuple(weights)
    if type(seats) is not int or not 0 <= seats <= 10000:
        raise ValueError("seats.range")
    if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
        raise ValueError("weights.invalid")
    total = sum(weights)
    if total == 0:
        if seats:
            raise ValueError("weight.zero")
        return [0] * len(weights)
    result = [w * seats // total for w in weights]
    remaining = seats - sum(result)
    order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
    for i in order[:remaining]:
        result[i] += 1
    return result
KI-Arbeitsumgebung für Code

Zuteilungsänderungen müssen Summen und Gleichstände erklären

Eine Zuteilungsroutine kann die Gesamtsumme erfüllen und einzelne Anteile dennoch anders verteilen, als Nutzer es erwarten. QuotaMosaic ist KI-Programmiersoftware für Windows, um diese Unterscheidung in Ihrem eigenen Projekt zu untersuchen. Bringen Sie Implementierung, Aufrufer und einige erwartete Zuteilungen ins Gespräch ein, bevor Sie eine Quellcodeänderung anfordern.

Eine Prüfaufgabe ist die Verteilung nach größten Resten, bei der ganze Einheiten anhand nicht negativer Gewichte zugewiesen werden. Lassen Sie das verbundene Modell untersuchen, wie Grundzuteilung und verbleibende Einheiten zusammenpassen. Fügen Sie ein Beispiel mit gleichen Resten hinzu und nennen Sie die Gleichstandsregel ausdrücklich, damit eine geänderte Reihenfolge das Ergebnis nicht unbemerkt verändert.

Prüfen Sie die Schnittstelle ebenso sorgfältig wie die Arithmetik. Legen Sie fest, was leere Eingaben oder eine Gewichtssumme von null bedeuten, wenn Einheiten angefordert werden, und prüfen Sie den Fehlerweg zum Aufrufer. Führen Sie Projektprüfungen mit kleinen, unabhängig verifizierten Beispielen aus und prüfen Sie Endsumme wie Einzelzuteilungen. Die Erhaltung einer Invariante beweist nicht die andere.

QuotaMosaic verbindet sich mit unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkten. Ein abliteriertes KI-Modell lässt sich wählen, sofern verfügbar; Fähigkeiten und Grenzen bestimmen Modell und Server. Nutzen Sie das Modell zur Untersuchung der Regeln und Vorbereitung einer überprüfbaren Änderung und verifizieren Sie anschließend das Verhalten in Ihrer Anwendung.

Summen und Gleichstände bei Zuteilungen – Fragen vor Änderungen

Was sollte ich vor einer Änderungsanfrage zu Gleichständen angeben?

Legen Sie fest, wie gleiche Reste geordnet werden und ob die ursprüngliche Eingabereihenfolge zählt. Geben Sie ein Gleichstandsbeispiel mit erwarteter Zuteilung an. Sonst kann eine scheinbar harmlose Sortieränderung verändern, welcher Empfänger die letzte Einheit erhält.

Genügt die Prüfung der Summe zur Verifizierung?

Nein. Verschiedene Zuteilungen können dieselbe Gesamtsumme haben. Prüfen Sie die Menge je Empfänger und das Ergebnis bei Gleichständen. Nutzen Sie unabhängige Sollbeispiele, statt im Test nur die Berechnung der Implementierung zu wiederholen.

Wie sollte eine Gewichtssumme von null behandelt werden?

Legen Sie getrennte Erwartungen für null angeforderte Einheiten und eine positive Anzahl fest. Prüfen Sie mit dem Aufrufer die bestehende Fehlervereinbarung. Das Modell sollte keine Empfänger erfinden oder durch eine undefinierte Summe teilen, nur damit die Funktion etwas zurückgibt.

Definiert das Beispiel jede Zuteilungsregel?

Es definiert einen bestimmten Prüfkontext mit ganzen Einheiten und nicht negativen Gewichten. Hat Ihre Anwendung Obergrenzen, Mindestmengen oder andere Prioritäten, nennen Sie sie ausdrücklich. Prüfen Sie, ob die vorgeschlagene Änderung weiterhin die von Ihren Nutzern benötigte Regel umsetzt.

Für Windows herunterladen ↗

QuotaMosaic · Aktualisiert 2026-10-25