Modulo işleminin grafiği ( ) şöyle görünür:
"Sarma" davranışı yaratmamıza izin verdiği için bu çok kullanışlı bir işlevdir. Ancak, iki duvar arasında "zıplayan" bir görünüm oluşturmak için kullanmak istediğim zaman çok hantal. "Sıçrama" fonksiyonunun grafiği ( ) şöyle görünür:
Süresi grafiğinin isimli . Grafiğinin süresi bir bunun için yukarı doğru hareket eder, çünkü, birimi ve daha sonra başka bir aşağı doğru hareket eder başladığı yere geri dönmeden önce, birim. Her iki işlev için de için minimum değer 0 ve maksimum değer (Aslında, tümleşik girişli modül işlevi için ). Ayrıca, her iki işlev için değerinin olduğu değer .
Meydan okuma
tamsayısı ve pozitif tamsayısı verildiğinde , tamsayısı veya kayan nokta yaklaşımı .k y = hemen çıkma ( x , k )
Bu kod golf , bu nedenle (bayt cinsinden sayılan) en kısa geçerli gönderim kazanır.
Test Durumları
x, k -> bounce(x, k)
0, 14 -> 0
3, 7 -> 3
14, 14 -> 14
15, 14 -> 13
-13, 14 -> 13 (12.999997 etc would be an acceptable answer)
-14, 14 -> 14
191, 8 -> 1
192, 8 -> 0
k % k = 0
k
.