Kesirler arasında
Meydan okuma:
En az 3 giriş alan kod oluşturmanız gerekir; 2 tamsayı ve "kesir temsili" - hangi tip kesir artışlarını temsil etmek için dilinize uyuyorsa). Dizeyi seçerseniz giriş "1/4" olur veya 2 ekstra tamsayı girişi veya bir tuple veya w / e seçebilirsiniz.
Girdi makul herhangi bir yerde olabilir (STDIN, işlev bağımsız değişkenleri, bir dosyadan vb.) Ve böylece çıktı alabilir (STDOUT, işlev döndürme değeri, bir dosyaya vb.)
Kurallar:
- "Kesir" girişi her zaman geçerli bir kesir, 1'den az olacaktır; örnek "1/4"
- İkinci giriş tamsayısının her zaman ilk tamsayıdan daha yüksek bir değeri olacaktır. IE ilk giriş tamsayı her zaman ikinciden daha düşük bir değere sahip olacaktır.
- Giriş tam sayıları negatif olabilir.
- Çıkarılan fraksiyonlar mümkün olduğunca azaltılmalıdır (basitleştirilmiş)
Kodun, 2 sayı arasındaki her "kesir basamağı" nı, girdi kesirinin artışları olarak vermesi gerekecektir.
Kod, burada belirtildiği gibi bir program veya işlev olmalıdır
Örnek 1:
Giriş: -2,3,"1/2"
Çıktı:
-2
-3/2
-1
-1/2
0
1/2
1
3/2
2
5/2
3
Örnek 2:
Giriş: 1,2,"2/3"
Çıktı:
1
5/3
2
veya
1
4/3
2
Not: Sayma her iki yönden de başlayabilir (teşekkür ederim @Mego)
Bu kod golf , bu yüzden bayttaki en kısa cevap kazanır.