CConvergeHazel
AI-werkruimte voor code

Convergenten van kettingbreuken

Geef elke convergent van een kettingbreuk met één tot 32 gehele coëfficiënten met absolute waarde tot 1000.

● ● ●ConvergeHazel●
Werkprocessen · Convergenten van kettingbreuken ×
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
✳Geef elke convergent van een kettingbreuk met één tot 32 gehele coëfficiënten met absolute waarde tot 1000.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
  1. Project

    Test een negatieve eerste term en 3-7-16, weiger niet-positieve latere termen en behoud exacte teller-noemerparen.

  2. Controleer vóór het toepassen

    Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

  3. Modellen

    Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

Werkprocessen

Convergenten van kettingbreuken

Werkprocessen ↗
Werkprocessen
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
AI-werkruimte voor code

Beoordeel numeriek werk zonder het toepassingsdoel te verliezen

ConvergeHazel is een AI-programmeeromgeving voor Windows om wijzigingen in numerieke broncode te bespreken naast het project dat ze nodig heeft. Open de map en leg uit hoe de toepassing de berekening gebruikt. Vraag het verbonden model de functie, aanroepers en relevante tests te bekijken voordat het een bewerking aanbeveelt. Die context helpt een wiskundig aannemelijke herschrijving in lijn te houden met het werkelijke softwarecontract.

Het voorbeeld convergents.py kan een taak over een reeks rationale benaderingen concreet maken. Geef een korte invoer en de exacte teller-noemerparen die je verwacht en vraag hoe tussenresultaten de gebruikende code bereiken. Behandel geaccepteerde grenzen voor termen en de uitvoervolgorde als expliciete eisen. Het voorbeeld biedt een concreet beoordelingsdoel; implementatie en verificatie blijven werkzaamheden in je eigen projectbestanden.

Een ongefilterd AI-model kan worden gekozen via een ondersteund OpenAI-compatibel of Anthropic-endpoint dat het aanbiedt. Stel de verbinding en inloggegevens in zoals vereist; contextcapaciteit en beschikbare tools verschillen per dienst. Beoordeel de voorgestelde wijzigingen en vergelijk resultaten met onafhankelijk vastgestelde gevallen. Houd eisen aan exacte rekenkunde zichtbaar als latere code de uitvoer naar een decimaal getal omzet. Een patch is beter te beoordelen wanneer elke transformatie een beschreven doel heeft en een controle op de grens waar de betekenis kan veranderen.

Een numerieke patch controleerbaar maken

Waarom exacte paren geven in plaats van decimale voorbeelden?

Decimalen kunnen een verschil in representatie of afronding verbergen. Als het functiecontract teller-noemerparen teruggeeft, controleer die dan eerst rechtstreeks. Beoordeel een latere decimale conversie daarna als aparte stap met eigen precisie-eisen.

Kan het model beslissen welke invoergrenzen verdwijnen?

Het kan redenen voorstellen, maar projecteisen moeten bepalen welke invoer wordt geaccepteerd. Bekijk validatie en aanroepers voordat je het bereik uitbreidt. Grotere waarden of langere reeksen kunnen extra controles op middelen en uitvoer vereisen die niet in de oorspronkelijke taak zaten.

Moet ik alleen de laatste benadering verifiëren?

Niet als aanroepers de tussenliggende reeks gebruiken. Neem de verwachte volgorde en representatieve eerdere resultaten mee, naast het laatste paar. Een functie kan een aannemelijke eindwaarde bereiken en toch onjuiste of anders geordende tussenresultaten teruggeven.

Wat als de numerieke uitleg en tests elkaar tegenspreken?

Stel de beslissing over de patch uit en volg een klein geval door de broncode. Controleer de verwachte waarde onafhankelijk en bekijk de testaannames. Noch vloeiende redeneringen noch een bestaande assertie mogen zonder onderzoek zwaarder wegen dan een aangetoond verschil.

Download voor Windows ↗

ConvergeHazel · Bijgewerkt 2026-10-25