Arkadaşım ve ben bu oyunu kelimelerle oynadık. Eğlenceli bir eğlencedir ve hiçbir şey kalmayana kadar bir kelimedeki harfleri "iptal etmeyi" içerir. Gerçekten benden çok daha hızlı olmasından bıktım, bu yüzden onu uygulamak ve sonunda onu dövmeme izin vermek senin işin. Açıkçası, programı olabildiğince gizlemem gerektiğinden, olabildiğince küçük olması gerekiyor.
Bu oyun nasıl çalışıyor?
Oyun oldukça basit bir algoritma. Alfabetik bir dizgiyi daha fazla azaltılamayana kadar azaltır, böylece bir çeşit karma yapar. İnsanların yaptığımız gerçek oyunu uygulamak çok zordur, ancak aşağıdaki algoritmaya basitleştirilebilir:
Alfabeyi ikiye katlayarak ve şu iki parçayı sıralayarak başlıyorsunuz:
a b c d e f g h i j k l m
z y x w v u t s r p q o n
Ardından, ortadan başlayarak, pozitif tamsayıları üst yarısına ve negatifleri alt tarafa atarsınız:
a b c d e f g h i j k l m
13 12 11 10 9 8 7 6 5 4 3 2 1
z y x w v u t s r p q o n
-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
Sonra dizenizi alırsınız (kullanacağız hello world
) ve alfabetik olmayan karakterleri görmezden gelirseniz , çevirin:
h e l l o w o r l d
6 9 2 2 -2 -10 -2 -5 2 10
Sonra harf değerlerini toplarsınız. Önceki diyagramda sıralananlar (ör. d
Ve w
, l
ve o
) iptal edilirken diğerleri toplanır.
sum(6 9 2 2 -2 -10 -2 -5 2 10 )=12
12 sayı b
ve karma nedenle, hello world
ISb
Tamamen iptal eden kelime (örneğin İçin love
), çıkış "0 karakter": -
. Girişte -
yine dikkate alınmayacağını unutmayın. Sadece çıktıda önemlidir.
Buradaki sayı büyüklüğü 13 büyükse, o zaman üzerinde iki katına başlar a
's ve z
' Temelde pek olarak almak s a
'ın ya da z
' ın uyum numarasına ve bu yüzden gibi son harfi içine geride kalanları atın:
code golf: 43.
3 a
'e uyar ve 4 tane kaldı:
aaa 4: j
result: aaaj
İpucu: Bu bölüm, divmod
sıfıra doğru yuvarlanması dışında temelde değildir -infinity
(örn. -43, 3'ler olur z
ve -4
bu p
şekilde olur zzzp
).
Not: a
's z
' veya 'tam olarak uyuyorsa çizgi gelmez 0
.
Açıklamalar:
- Karma durumdur içinde hassas
- Standart Loophole'lara izin verilmiyor
- G / Ç çok tuhaf, stdin, stdout, komut satırı arg, işlevi vb. Olmayan herhangi bir biçimde olabilir.
- Bu kod golf çok kısa bayt kazanır boyutu kazanır.
Örnekler:
hello world --> b
love --> -
this is an example --> aak
hello *&*(&(*&%& world --> b
good bye --> ae
root users --> zzs
love
boş ...