Retina , 27 20 bayt
^
$_$*: $_
:
$_$*:
:
Büyük girdiler için biraz yavaş olur çünkü son aşamadan önce sonuç tekdüze olarak gösterilir.
Çevrimiçi deneyin! (İlk satır satır besleme ile ayrılmış bir test takımı sağlar.)
açıklama
2Örnek bir girdi olarak kullanacağım (çünkü tek biçimli gösterimler daha büyük girdiler için biraz hantallaşıyor).
Aşama 1: Değiştirme
^
$_$*: $_
Dizenin başlangıcını eşleştirerek ^bazı şeyleri hazırlarız. $_giriş dizgisinin kendisine atıfta bulunur ve $*:bu kadar fazla virgül ekleriz. Yani biz alırız:
:: 22
Aşama 2: Değiştirme
:
$_$*:
Şimdi her birini eşleştiriyoruz :ve onunla değiştiriyoruz $_$*:. Elbette, bu süre $_bir tamsayı olarak değerlendirilmez (ancak :: 22örneğimize göre), ancak $*yalnızca dizedeki ilk ondalık basamağı arar, bu nedenle bu kendi kendine birleştirilmiş girdiyi değerlendirir ( Ozorluk şartnamesinde). Sonunda N*Oiki nokta üst üste konacağız, ardından O:
:::::::::::::::::::::::::::::::::::::::::::: 22
Aşama 3: Eşleşme
:
Geriye kalan tek şey :, saryerden ondalık basamağa dönüştürmek için s saymaktır , bu tam da bu aşamada yapılan şeydir.