Bir Friedman Numarası , +, -, *, /, ^, parantez ve birleştirme işlemleriyle birlikte kendi basamaklarını kullanan önemsiz olmayan bir ifadeye eşit olan pozitif bir tamsayıdır.
Güzel Bir Friedman Numarası, kendi basamaklarını aynı işlemlerle birlikte, basamakları orijinal sıralarında kullanan önemsiz olmayan bir ifadeye eşit olan pozitif bir tamsayıdır.
Burada icat ettiğim çok güzel bir Friedman sayısı (VNFN), böyle bir ifadenin daha az güzel (bence) kısımları olmadan yazılabilen bir Nice Friedman Numarasıdır. Parantez, birleştirme ve tek taraflı olumsuzlama kabul edilmez.
Bu meydan okuma için, parantez olmadan bir ifade yazmanın üç olası yolu vardır.
Önek: Bu, sol çağrışımla eşdeğerdir. Bu ifade türü, rakamların solundaki tüm işleçlerle birlikte yazılır. Her operatör aşağıdaki iki ifadeye uygulanır. Örneğin:
*+*1234 = *(+(*(1,2),3),4) = (((1*2)+3)*4) = 20
Bu şekilde yazılabilen bir VNFN 343'tür:
^+343 = ^(+(3,4),3) = ((3+4)^3) = 343
Postfix: Bu sağ çağrışımla eşdeğerdir. İşlemin rakamların sağına gitmesi dışında, önek gösterimi gibidir. Her işleç, önceki iki ifade için geçerlidir. Örneğin:
1234*+* = (1,(2,(3,4)*)+)* = (1*(2+(3*4))) = 14
Bu şekilde yazılabilen bir VNFN 15655'tir:
15655^+** = (1,(5,(6,(5,5)^)+)*)* = (1*(5*(6+(5^5)))) = 15655
Infix: Infix gösterimi, beş işlem için standart işlem sırasını kullanır. Mücadelenin amaçları doğrultusunda, bu işlem sırası aşağıdaki gibi tanımlanacaktır: ^
Önce parantez boyutunu , sağa doğru ilişkilendirin. Ardından, parantez içine alın *
ve /
aynı anda birlikte bırakın. Son olarak, parantez içinde +
ve -
aynı anda, birlikte bırakılır.
1-2-3 = (1-2)-3 = -4
2/3*2 = (2/3)*2 = 4/3
2^2^3 = 2^(2^3) = 256
1^2*3+4 = (1^2)*3+4 = 7
Bu şekilde yazılabilen bir VNFN 11664'tür:
1*1*6^6/4 = (((1*1)*(6^6))/4) = 11664
Zorluk: Pozitif bir tamsayı verildiğinde, önek, infix veya postfix gösterimlerinde kendi rakamlarının önemsiz olmayan bir ifadesi olarak ifade edilebilirse, bu ifadeyi çıktılayın. Değilse, hiçbir şey çıktı.
Açıklamalar: Birden fazla gösterim mümkünse, bunların boş olmayan alt kümelerini çıktılayabilirsiniz. Örneğin, 736 bir VNFN'dir:
+^736 = 736
7+3^6 = 736
+^736
, 7+3^6
Ya da her ikisi, tüm olarak kabul edilebilir bir çıkışı olacaktır.
"Önemsiz" ifade, herhangi bir operatör kullanmayan ifade anlamına gelir. Bu yalnızca bir basamaklı sayılarla ilgilidir ve bir basamaklı sayılar VNFN olamaz. Bu bir Friedman Numarası tanımından miras alınır.
Cevaplar bir milyonun altındaki girdilerde saniye veya dakika olarak çalışmalıdır.
IO: Standart IO kuralları. Tam program, fonksiyon, fiil veya benzeri. STDIN, komut satırı, işlev bağımsız değişkeni veya benzeri. "Hiçbir şey" çıktısı için, boş dize, boş bir çizgi null
veya benzeri ve boş bir koleksiyonun tümü iyi durumdadır. Çıktı, bir temsilde bulunamayan bir karakterle ayrılmış bir dize olabilir veya bir dize koleksiyonu olabilir.
Örnekler:
127
None
343
^+343
736
736^+
7+3^6
2502
None
15655
15655^+**
11664
1*1*6^6/4
1^1*6^6/4
5
None
Puanlama: Bu kod golfü. En az bayt kazanır.
Ayrıca, bir tane bulursanız, lütfen cevabınıza yeni bir Çok Güzel Friedman Numarası verin.
Parentheses, concatenation and unary negation are disallowed.
*(+(*(1,2),3,4)
sonra bir yakın paren eksik,3