TTotientRill
AI-werkruimte voor code

Euler-totiënttellingen

Tel gehele getallen van één tot n die relatief priem zijn met n via de totiëntfunctie, met n tot 1000000000.

● ● ●TotientRill●
Werkprocessen · Euler-totiënttellingen ×
def totient(value):
    if type(value) is not int or not 1 <= value <= 1000000000:
        raise ValueError("value.range")
    remaining, result, factor = value, value, 2
    while factor * factor <= remaining:
        if remaining % factor == 0:
            result -= result // factor
            while remaining % factor == 0:
                remaining //= factor
        factor += 1
    if remaining > 1:
        result -= result // remaining
    return result
✳Tel gehele getallen van één tot n die relatief priem zijn met n via de totiëntfunctie, met n tot 1000000000.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
  1. Project

    Test één, priemgetallen en herhaalde factoren en weiger nul, negatieve, gebroken en booleaanse waarden.

  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

Euler-totiënttellingen

Werkprocessen ↗
Werkprocessen
def totient(value):
    if type(value) is not int or not 1 <= value <= 1000000000:
        raise ValueError("value.range")
    remaining, result, factor = value, value, 2
    while factor * factor <= remaining:
        if remaining % factor == 0:
            result -= result // factor
            while remaining % factor == 0:
                remaining //= factor
        factor += 1
    if remaining > 1:
        result -= result // remaining
    return result
AI-werkruimte voor code

Maak van een onbegrepen functie een beoordeelbare taak

TotientRill is een AI-programmeeromgeving voor Windows om vooruitgang te boeken in onbekende broncode. Open een projectmap en vraag het verbonden model één functie uit te leggen in relatie tot invoer, aanroepers en tests. Het doel is een nuttige volgende ontwikkelstap: een aanname verduidelijken, een foutpad verbeteren of een afgebakende wijziging maken die je kunt onderzoeken.

totient.py biedt bijvoorbeeld een beginpunt om een numerieke hulpfunctie met expliciete invoerlimieten te beoordelen. Vraag waarom aanroepers het resultaat nodig hebben, wat ze voor de kleinste geaccepteerde invoer verwachten en hoe ongeldige waarden worden gemeld. Het voorbeeld kan een leergerichte projecttaak ondersteunen zonder van de omgeving een belofte van kant-en-klare wiskundige functies te maken. Houd de uitleg verbonden met de werkelijke code die je wilt onderhouden.

Selecteer een ongefilterd AI-model als dat beschikbaar is via je ondersteunde OpenAI-compatibele of Anthropic-endpoint. Geef de dienstinstellingen en vereiste inloggegevens op en houd rekening met context- en toollimieten. Vergelijk de uitleg vóór het wijzigen met de broncode en kleine onafhankelijk gecontroleerde gevallen. Beoordeel de resulterende patch en voer de relevante projecttests uit. Zo kan een beginner een antwoord toetsen en begrip opbouwen met bewijs, in plaats van onbekende terminologie op vertrouwen aan te nemen.

Van uitleg naar een kleine bijdrage

Wat moet ik vragen als het doel van de functie onduidelijk is?

Vraag welke aanroepers het resultaat gebruiken en wat zij verwachten, met verwijzingen naar de relevante bestanden. Een wiskundige beschrijving alleen verklaart het toepassingsdoel mogelijk niet. Houd ontbrekende gebruikscontext expliciet voordat je een verbetering voorstelt.

Hoe kan een beginner de uitleg van het model toetsen?

Kies kleine invoer met een resultaat dat je onafhankelijk kunt vaststellen en volg die door de broncode. Vraag naar verschillen. Het eigen voorbeeld van het model herhalen is minder nuttig dan een geval controleren dat precies de bewering toetst waaraan je twijfelt.

Moet ik een willekeurig lijkende invoerlimiet verwijderen?

Onderzoek eerst waarom die bestaat en hoe aanroepers afwijzing verwerken. Ze kan een werklast- of interface-eis weerspiegelen. Uitbreiding van geaccepteerde invoer verandert de afspraken en kan nieuwe verificatie vereisen, ook als het verwijderen van de voorwaarde technisch eenvoudig is.

Wat is een verstandige eerste patch in onbekende numerieke code?

Kies een waargenomen probleem met een duidelijk verwacht resultaat, zoals een foutmelding die niet past bij geaccepteerde invoer. Houd algoritmewijzigingen apart totdat je de gevolgen begrijpt. Beoordeel het verschil en behoud een controle die de werkelijke verbetering aantoont.

Download voor Windows ↗

TotientRill · Bijgewerkt 2026-10-25