Arka fon
En büyük ortak bölen ( kısaca gcd ) birçok kullanışlı özelliğe sahip olduğundan uygun bir matematiksel işlevdir. Bunlardan biri Bézout'un kimliği : eğer d = gcd(a, b)öyleyse tamsayılar var xve yöyle d = x*a + y*b. Bu zorlukta, sizin göreviniz bu özelliği basit ASCII sanatı ile görselleştirmek.
Giriş
Girişleriniz iki pozitif tamsayıdır ave bherhangi bir makul biçimde verilir. Aynı zamanda unary girişleri de alabilirsiniz (seçtiğiniz tek bir yazdırılabilir ASCII karakterinin tekrarı), ancak tutarlı olmanız ve her iki giriş için de aynı formatı kullanmanız gerekir. Girişler herhangi bir sırada olabilir ve eşit olabilirler.
Çıktı
Çıktınız bir suzunluk dizesidir lcm(a, b) + 1( lcm en düşük ortak katın kısaltmasıdır). Karakterleri sarasındaki tam sayıları temsil 0etmek lcm(a, b). Karakter s[i], bir ya da bir çarpı oişareti iise küçük harf , aksi takdirde bir nokta . Sıfırın her sayının katı olduğunu unutmayın. Şimdi, Bézout'un kimliği nedeniyle , mesafe tam olarak en az bir çift karakter olacak . Bu tür en soldaki çift, büyük harf s ile değiştirilir ; bu son çıktı.ab.osgcd(a, b)O
Örnek
Girişleri a = 4ve b = 6. Sonra biz var gcd(a, b) = 2ve lcm(a, b) = 12, böylece solacaktır 13. Katları ave bşöyle vurgulanmaktadır:
0 1 2 3 4 5 6 7 8 9 10 11 12
o . . . o . o . o . . . o
İki omesafeli iki çift s vardır, ancak yalnızca en soldakileri Os ile değiştiririz , yani son çıktı
o...O.O.o...o
Kurallar ve puanlama
Tam bir program veya bir fonksiyon yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklar izin verilmez.
Test durumları
1 1 -> OO
2 2 -> O.O
1 3 -> OOoo
4 1 -> OOooo
2 6 -> O.O.o.o
2 3 -> o.OOo.o
10 2 -> O.O.o.o.o.o
4 5 -> o...OO..o.o.o..oo...o
8 6 -> o.....O.O...o...o.o.....o
12 15 -> o...........O..O........o.....o.....o........o..o...........o
19 15 -> o..............o...o..........o.......o......o...........o..o..............OO.............o....o.........o........o.....o............o.o..............o.o............o.....o........o.........o....o.............oo..............o..o...........o......o.......o..........o...o..............o
.,oya daO.) Ya da olmak zorunda1mı? Ya da0?