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
✳n en fazla 1000000000 olmak üzere birden n değerine kadar n ile aralarında asal tamsayıları Euler totient fonksiyonuyla sayın.
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
Proje
Biri, asalları ve tekrarlı çarpanları sınayın; sıfır, negatif, kesirli ve Boolean girdileri reddedin.
Uygulamadan önce inceleyin
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
Modeller
Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
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
Yapay zekâ ile kod çalışma alanı
Anlamadığınız işlevi incelenebilir bir göreve dönüştürün
TotientRill, tanımadığınız kaynak kodda ilerlemek için bir Windows yapay zekâ kodlama çalışma alanıdır. Proje klasörü açın ve bağlı modelden bir işlevi girdileri, çağıran kodu ve testleriyle ilişkili olarak açıklamasını isteyin. Amaç yararlı bir sonraki geliştirme adımıdır: bir varsayımı netleştirmek, hata yolunu iyileştirmek veya inceleyebileceğiniz sınırlı değişiklik yapmak.
Örneğin totient.py, açık girdi sınırları olan sayısal yardımcı işlevi incelemek için başlangıç sunar. Çağıran kodun sonuca neden ihtiyaç duyduğunu, kabul edilen en küçük girdi için ne beklediğini ve geçersiz değerlerin nasıl bildirildiğini sorun. Örnek, çalışma alanını hazır matematik özellikleri vaadine dönüştürmeden öğrenme odaklı proje görevini destekleyebilir. Açıklamayı gerçekten bakımını yapacağınız koda bağlı tutun.
Desteklenen OpenAI uyumlu veya Anthropic uç noktanız üzerinden sunuluyorsa filtresiz bir yapay zekâ modeli seçin. Bağlam ve araç sınırlarını dikkate alarak hizmet ayarlarını ve gerekli kimlik bilgilerini sağlayın. Düzenlemeden önce açıklamayı kaynakla ve bağımsız kontrol edilmiş küçük durumlarla karşılaştırın. Oluşan yamayı inceleyin ve ilgili proje testlerini çalıştırın. Bu, yeni başlayana yabancı terimleri güvenerek kabul etmek yerine yanıtı sorgulama ve kanıtla anlayış geliştirme yolu sunar.
Açıklamadan küçük katkıya geçiş
İşlevin amacı belirsizse ne istemeliyim?
İlgili dosyalara atıfla sonucu hangi çağıran kodların kullandığını ve ne beklediklerini sorun. Yalnızca matematiksel açıklama uygulama amacını anlatmayabilir. İyileştirme önermeden önce eksik kullanım bağlamını açık tutun.
Yeni başlayan biri modelin açıklamasını nasıl sorgulayabilir?
Sonucunu bağımsız belirleyebildiğiniz küçük girdi seçip kaynak boyunca izleyin. Uyuşmazlıkları sorun. Modelin kendi örneğini tekrarlamak, şüphe duyduğunuz iddiayı sınayan durumu kontrol etmekten daha az yararlıdır.
Keyfî görünen girdi sınırını kaldırmalı mıyım?
Önce neden var olduğunu ve çağıran kodun reddi nasıl işlediğini araştırın. İş yükü veya arayüz gereksinimini yansıtabilir. Koşulu silmek teknik olarak basit olsa da kabul edilen girdileri genişletmek sözleşmeyi değiştirir ve yeni doğrulama gerektirebilir.
Yabancı sayısal kodda mantıklı ilk yama nedir?
Kabul edilen girdilerle tutarsız hata mesajı gibi beklenen sonucu açık, gözlenmiş bir sorun seçin. Sonuçlarını anlayana kadar algoritma değişikliklerini ayrı tutun. Farkı inceleyin ve gerçek iyileştirmeyi gösteren kontrolü koruyun.