Çalıştırıldığında aşağıdaki metni görüntüleyen bir program oluşturun:
)-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-(
Bunu cevaplamak için herhangi bir işlevi veya dili kullanın, eğlenin. En kısa kod kazanır
Çalıştırıldığında aşağıdaki metni görüntüleyen bir program oluşturun:
)-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-(
Bunu cevaplamak için herhangi bir işlevi veya dili kullanın, eğlenin. En kısa kod kazanır
Yanıtlar:
@Shaggy sayesinde 2 bayt kaydedildi
[U="){"-*-*-*^_"ê}("`| WelÖ U r! |`U]·
[U="){"-*-*-*^_"ê}("`| WelÖ U r! |`U]·
[ ] // Create a new array
U= // Variable U =
") // ")
{ } // Evaluate everything in curley-brackets as code
"-*-*-*^_"ê // "-*-*-*^_" mirrored -> -*-*-*^_^*-*-*-
(" // ("
* Now we have [U=")-*-*-*^_^*-*-*-("]
`| WelÖ U r! |` // "| Welcome User! |" decompressed by `...`
U // ")-*-*-*^_^*-*-*-("
* Now we have [")-*-*-*^_^*-*-*-(","| Welcome User! |",")-*-*-*^_^*-*-*-("]
· // Split with new-lines
PRINT')-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-('
SQL, dize değişmezlerini satırlar üzerinde bölmeye izin verir, böylece bu döndürmeler sayılır.
Prosedürel bir çözüm üzerinde çalışıyorum, ancak 60 yaşın altında bir çözüm bulacağımdan şüpheliyim.
Yeni Düzenleme : REPLACE
Önemsiz çözümü bağlayan bir basit bulundu :
PRINT REPLACE('1
| Welcome User! |
1',1,')-*-*-*^_^*-*-*-(')
Çıkıyor REPLACE
bu benim yedek karakteri etrafında tırnak ortadan kaldırarak 2 karakter kaydetmenize olanak sağlar, böylece bir dizeye bir rakamının örtük dönüştürme yapacağız.
Bir değişkene koymaya çalışmak, DECLARE
(69 bayt) ek yükü nedeniyle çok uzun :
DECLARE @ CHAR(17)=')-*-*-*^_^*-*-*-('PRINT @+'
| Welcome User! |
'+@
a="\n)-*-*-*^_^*-*-*-(\n"
print a+'| Welcome User! |'+a
Gayet basit. Önde gelen ve sondaki yeni satırları içerir.
main(i){for(;printf(")-*-*-*^_^*-*-*-(")&i--;puts("\n| Welcome User! |"));}
00000000: d3d4 d502 c1b8 f838 30ad abc1 55a3 109e .......80...U...
00000010: 9a93 9c9f 9baa 105a 9c5a a4a8 50c3 a589 .......Z.Z..P...
00000020: ae06 00bd 4d85 9835 0000 00 ....M..5...
Emigna sayesinde -3 Byte
")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»
")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»
")-*-*-*^_" # Push )-*-*-*^_
.∞ # Intersected mirror (results in )-*-*-*^_^*-*-*-( )
D # Duplicate top of stack
”|‡Ý‚Ý! |” # Pushes | Welcome User! |
s # Swap top items on stack
» # Join on newlines
.∞
yerineû¨'(«
")-*-*-*^_"
değerini değiştirerek bir bayt kaydedebilirsiniz ')„-*Є^_J
. :)
print(")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-(")
Create a program
alert(`${s=")-*-*-*^_^*-*-*-("}
| Welcome User! |
${s}`)
_=>(s=")-*-*-*^_^*-*-*-(")+`
| Welcome User! |
`+s
Rick Hitckcock sayesinde -2 bayt
alert
? Bir işlevi kullanarak birkaç bayt kaydedin.
alert
bir .js
dosyaya kopyalayın ve tarayıcınızda çalıştırın, çalışır.
_=>(s=")-*-*-*^_^*-*-*-(")+
\ N ile 2 bayt kaydet | Hoşgeldin Kullanıcı! | \ n+s
main(){char*S=")-*-*-*^_^*-*-*-(";printf("%s\n| Welcome User! |\n%s",S,S);}
m=")-*-*-*^_^*-*-*-(";main(){printf("%s\n| Welcome User! |\n%s",m,m);}
_=>")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-("
Birinin fiyatı için iki:
s/^/)-*-*-*^_^*-*-*-(/p
x
s/^/| Welcome User! |/p
x
s/^/)-*-*-*^_^*-*-*-(\n| Welcome User! |/p
s/\n.*//
a=')-*-*-*^_^*-*-*-(';disp([a;'| Welcome User! |';a])
MATLAB / Python
? Bu kesinlikle geçerli bir piton değil.
disp
Matlab lider gösterecektir ans = \n
.
disp
tam çıktıya uymayacağı için oraya ihtiyacınız var.
ans =
verilmezse 6 bayt kaydedebilirsiniz.
print$\=")-*-*-*^_^*-*-*-(","
| Welcome User! |
"
$\
Her birinden sonra örtülü olarak yazdırılan gerçeği kullanır print
.
say
?
print
olarak say
nerede olduğunu düşünmüyor. Ama kullanmayı bırakacak bir haçlı seferi yok say
; Herkesin istediği gibi yapmasına izin verdim ve herkes mutlu :)
_^×*-³(⸿emocleW |‖B¬J¹¦¹ User!
Çevrimiçi deneyin! Bağlantı, kodun ayrıntılı versiyonudur. Açıklama:
_^ Print("_^");
×*-³ Print(Times("*-", 3));
(⸿emocleW | Print("(\remocleW |");
Çıktının sol üst kısmının ayna görüntüsünü yazdırır.
‖B¬ ReflectButterfly(:¬);
Üst ve alt çizgileri ve orta çizginin solunu oluşturmak için aşağı ve sola yansıtır.
J¹¦¹ JumpTo(1, 1);
User! Print(" User!");
Orta çizgiyi düzeltir.
func main(){var a string=")-*-*-*^_^*-*-*-(\n";Printf(a+"| Welcome User! |\n"+a)}
fmt
Üzgünüz , içe aktarmayı dahil etmelisiniz .
tellraw @a {"text":")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-("}
22#)[#-#*]"^_^"[#*#-]#(V"
| Welcome User! |
"R!&@v&@R&@
Çıktıyı kodlamaktan 2 bayt daha kısa.
22 Push 2 2s to the stack
These are used for loop counting
#) Push )
[#-#*] Push -* 3 times, using one of the 2s
"^_^" Push ^_^
[#*#-] Push *- 3 times, using the remaining 2
#( Push (
V Create a new stack
"
| Welcome User! |
" Push \n| Welcome User! |\n to the new stack
R!&@ Return to main stack, print entire stack without popping
v&@ Switch to 2nd stack, pop and print stack
R Return to main stack, pop and print stack
<?=$a=")-*-*-*^_^*-*-*-(","\n| Welcome User! |\n$a";
@SET b=@ECHO )-*-*-*^^^^_^^^^*-*-*-(
%b%
@ECHO ^| Welcome User! ^|
%b%
Çoğunlukla bundan hoşlanıyorum çünkü tüm kaçış karakterleri ifadeyi ^_^
sevimli bir Lovecraft iğrençliği gibi gösteriyor^^^^_^^^^
/a"| !resU emocleW |>"01pa
l?!;o
/"(-*-*-*^_^*-*-*-)"
AGourd tarafından kaydedilen 2 bayt
é)8a-*r(ãhR^_^Äo| Welcome User! |
HexDump:
00000000: e929 3861 2d2a 1b72 28e3 6852 5e5f 5e1b .)8a-*.r(.hR^_^.
00000010: c46f 7c20 5765 6c63 6f6d 6520 5573 6572 .o| Welcome User
00000020: 2120 7c ! |
Açıklama:
é) " Insert a '('
8a " Append 8 copies of the following:
-*<esc> " '-*'
r( " Replace the last character on this line with '('
ãh " Move to the middle of this line
R " And write the following text over the existing text:
^_^<esc> " '^_^'
Ä " Duplicate this line
o " On a new line:
| Welcome User! | " Write the whole middle line
Sıkıcı, ama sadece dizeleri kopyalamaktan daha az )-*-*-*^_^*-*-*-(
ya | Welcome User! |
da daha az bayt içinde bir yol bulamıyorum .
J")-*-*-*^_^*-*-*-("J"| Welcome User! |"J
Explanation:
J")-*-*-*^_^*-*-*-(" # J = ")-*-*-*^_^*-*-*-("
J # Print J with new line
"| Welcome User! |" # Print "| Welcome User! |" with new line
J # Print J with new line
)-*-*-*\^_\^*-*-*-(
^*1//.+/gS"
| Welcome User! |
"
)-*-*-*\^_\^*-*-*-(
^ Give the stack-string this value ")-*-*-*^_^*-*-*-(\n"
*1 Append 1 duplicate of the stack-string to itself
stack-string: ")-*-*-*^_^*-*-*-(\n)-*-*-*^_^*-*-*-("
//.+/g Get matches of /.+/g and set the stack-array to this result
stack-array: [")-*-*-*^_^*-*-*-(",")-*-*-*^_^*-*-*-("]
S"
| Welcome User! |
" Join the stack-array on "\n| Welcome User! |\n" and
set the stack-string to this result
f=")-*-*-*^_^*-*-*-("
echo "$f
| Welcome User! |
$f"
i)^[8a-*^[r(9hR^_^^[Yo| Welcome User! |^[p
Yorumlarda kankalara çığlık atmak
Orijinal:
i)-\*^[vhyl2pa^_^\*-^[vhyl2pa(^[Vyo| Welcome User! |^[p
Nerede ^[
olduğunu ESC
tuşu
i)-*-*-*^_^*-*-*-(^]
üst çizgiyi oluşturmak için çok daha kısadır. Ayrıca, Y
eşdeğerVy
i)^]8a-*^[r(9hR^_^^[
^[
, sonunda vurmanız gerekmez . YPo| Welcome User! |
P
bir şey olduğunu bile bilmiyordum . Yine de bu harika. Teşekkürler!
x->"".format("%s| Welcome User! |\n%<s",")-*-*-*^_^*-*-*-(\n")
Veya tam program olarak ( 110 bayt ):
interface A{static void main(String[]a){System.out.printf("%s| Welcome User! |\n%<s",")-*-*-*^_^*-*-*-(\n");}}
Henüz bir Java cevabı bulunmamasına şaşırdım.