Bir bükülme ile merhaba dünya


17

Amacınız : "Merhaba dünya!" Klasik sonucuyla sonuçlanacak bir kod parçası yazmak STDOUT veya eşdeğerine yazdırılıyor.

Kurallar : Kod tamamen ASCII yazdırılırken olmalıdır. Tüm kodlar işlevsel olmalıdır - herhangi bir sayma karakterinin kaldırılması sonucu değiştirmeli veya kodun çalışmamasına neden olmalıdır. Tüm değişkenler atamadan sonra kullanılmalıdır. Çıktı için karakter ve Dize değişmezleri gerekli olmalıdır - yani, bir dize değişmezinin veya dize değişmezindeki herhangi bir karakterin başka bir karakterle değiştirilmesi sonucu değiştirebilmelidir (kaçış dizisinin etkisi ile değil - karakteri ters eğik çizgi ile değiştirmek) veya eşdeğer)

(NOT: Nihai kural düzenlendi)

Puanlama : Burası ilginç hale geliyor. En yüksek puan, tipik kod bowling kurallarına göre karakter sayısına göre belirlenir. Ancak karakterlerin tekrar tekrar kullanılması nokta kesintilerine yol açacaktır. Özellikle ...

  1. Herhangi bir alfasayısal karakterin (az, AZ, 0-9) tekrar tekrar kullanılması, tekrar başına 3 puan düşülmesine neden olur (ilk kullanım bir kesinti ile sonuçlanmaz).
  2. Köşeli parantezler dahil olmak üzere temel noktalama işaretlerinin ([!? .-, ": ';]) tekrar tekrar kullanılması, tekrar başına 2 puan düşülmesine neden olacaktır.
  3. Kıvırcık parantezler de dahil olmak üzere diğer ASCII karakterlerinin {`~ @ # $% ^ & * _ + = | \ /> <} sürekli kullanımı - tekrar başına 4 puan düşülmesine neden olacaktır.
  4. Boşlukların, sekmelerin ve yeni satırların tekrar tekrar kullanılması, tekrar başına 1 puan düşülmesine neden olur. Yani, bir alanın, sekmenin veya yeni satırın yalnızca ilk kullanımı toplamınıza dahil edilir.

Not: Bir yorumun başlangıcını / sonunu işaretleyen karakterler de olsa, yorumlar toplamda sayılmaz. Örneğin, C / C ++ 'da, varsa /* This is a comment */, iki eğik çizgi ve iki yıldız sayar, ancak aralarında hiçbir şey yoktur.

Bazı örnekler (not: Julia'yı örnek dil olarak kullanma) ...

print("Hello, world!");

Toplam görünür karakter: 22
İçerir Alan: +1
Tekrarlanan alfanümerik: llor için -12
Tekrarlanan noktalama işareti: -2 için "
Nihai puan: 22 + 1-12-2 = 9

print("Hel",char(108),"o, wor",0x108,"d!"); # 0x108 makes a Uint8 that prints as ASCII

Toplam karakter: 43 (# karakterinden sonra herhangi bir karakter sayılmaz, bu yorum karakteridir) Boş
Alan içerir: +1
Tekrarlanan alfasayısallar: rr1008 için -18
Tekrarlanan noktalama işaretleri: -24 için () "" "" ",,,,,
Final puan: 43 + 1-24-18 = 2

xy=STDOUT
m="Hello, world!"
print(xy,m);

Toplam Görünür karakterler: 37
Newline İçeren: 1
Uzay İçeren: 1
Tekrarlanan alphanumerics: xyllor için -18
Tekrarlanan noktalama: -4, "için
diğer ASCII Tekrarlanan: = -4
Son skor: 37 + 1 + 1-18-4 -4 = 13

Birkaç geçersiz kod parçası ...

x=2;print("Hello,world!")  

Sorun: xatandı, ancak kullanılmadı.

print("Hello,"*" world!")  

Sorun: *gereksiz, sonuç onsuz aynı olacak.

k=1
if k>0
  print("Hello, world!")
else
  print("abcghjmquvxyzABCDEFGIJKLMNOPQRSTUVWXYZ_+*-&|")
end  

Sorun: İkinci printkomut çalışmaz. Ayrıca, ikinci printkomutta tırnak işaretli karakterleri kaldırmak çıktı değişmez.

x="Hello, world!";
print(x)  

Sorun: Yeni satırın kaldırılması sonucu değiştirmez veya hataya neden olmaz (Julia'da noktalı virgül yalnızca aynı satırda birden fazla komut varsa gereklidir, aksi takdirde yalnızca dönüş değerini bastırır).

print("Hellos\b, world!")  

Sorun: sKarakter, silindiği için sonucu etkilemez \b. Bu, code ( "Hello",char(100),"\b, world!") yoluyla yapıldığında kabul edilebilir , ancak dize hazır değerleri veya karakter hazır değerleri aracılığıyla yapılamaz.

Uygun puan hesaplayıcı - http://jsfiddle.net/4t7qG/2/ - Doorknob sayesinde



1
Bu, tartışmanızla alakalı görünüyor meta.codegolf.stackexchange.com/questions/777/…
Martin Ender

3
Kodunuzu koyabileceğiniz bir JSFiddle oluşturdum ve puanınızı otomatik olarak çözecek . Gönderiye bir link düzenlemem iyi olur mu?
Kapı tokmağı

1
@Dennis - Programınız komut nedeniyle bir yeni satır üretiyorsa, sorun değil (örneğin, Julia'da println yazdırır ve sonunda bir yeni satır ekler). Ancak dizenin bir parçası olmamalıdır.
Glen O

1
@ACarter - temel olarak, evet. Ancak kısıtlamalar ve kesintiler önemsizdir.
Glen O

Yanıtlar:


17

Perl - 96

(Teorik maksimum 97 puan verildiğinde oldukça iyi)

s{}[Hel0o, w3$=d!];y<"#%&'*.124578:?@BCDEFGIJKLMNOQ/-9>(
    6PRSTUVWXYZ^_`abfghjmqvxz|~\cAk-u)+print

(İkinci satırın gerçek bir \tsekme karakteriyle başladığını unutmayın )

Kod 98 karakter uzunluğundadır ve her ascii karakterini tam olarak bir kez ve bir ekstra içerir -.
98-2 = 96

Burada dize değişmezleri yok, ancak herhangi bir karakterin kaldırılması programı bozuyor.

deobfuscation

Bu programda 3 ifade var (aslında, aslında 2 ama +bir çeşit ifade ayırıcı olarak kötüye kullanıldım )

  1. s{}[Hel0o, w3$=d!]
    Bu sed operatörünün çok gergin bir halidir. Daha yaygın olarak s/a/b/veya olarak yazılır s:a:b:, ancak perl burada çok daha fazla fantezi sağlar: s(a)(b) s(a)^b^ s(a)[b]ve hatta s qaqbq.
    Bu boş bir dize (iç değiştirir {}birlikte) Hel0o w360d!(iç []() $=için interpolates 60varsayılan olarak). Bir ~=operatörün olmaması nedeniyle çalışır $_.

  2. y<"#%&'*.124578:?@BCDEFGIJKLMNOQ/-9>(\n\t6PRSTUVWXYZ^_`abfghjmqvxz|~\cAk-u)
    Bu aynı zamanda çok gerilmiş bir durumdur, ancak ( ) trolarak da adlandırılan bir işleçtir . Yedek tabloya bakalım: Varolan dizenin kırılmaması için bazı karakterleri hareket ettirdim. Burada gerçekten çalışan tek parça -> . O değiştirir ile , birlikte ve birlikte . Yine operatörün eksikliği nedeniyle çalışır. Şimdi değişkente tam bir cümle var .yy< >( )

    " # %&'*.124578:?@BCDEFGIJKLMNOQ /-9
    \n\t6PRSTUVWXYZ^_`abfghjmqvxz|~\cA k-u
    /-9k-u0l3o6r
    ~=$_
    $_

  3. print
    Argüman eksikliği, sadece $_değişkeni yazdırmasını sağlar .


Bu konuda yorum yapmak için yeterli Perl bilmiyorum - <ve + yapıyor arasındaki karakter kümesi nedir?
Glen O

@GlenO Yalnızca /-9ve k-udizeyi dönüştürmek için kullanılır. Gerisi eşit büyüklükte bir çöp. Yalnızca bir karakter kaldırırsanız, kümeler yanlış hizalanır ve program "Merhaba dünya!" Artık.
mniip

Bu durumda, "çöp" ne şekilde yürütülüyor? Yani, hangi açıdan işlevseldir? Kod tarafından atlanan yalnızca dolgu maddesi ise, bir koşul içindeki koşulu olmayan koda eşdeğerdir.
Glen O

3
@GlenO Değil. Spesifikasyona: <...> removal of any single counting character must change the result or cause the code to not function.1 karakterin her yerde kaldırılması onu kırar. 2 karakteri kaldırarak çalışmasını sağlayabilirsiniz, ancak bu kurallarda değildir.
04:43

2
All code must be functional. En azından kuralları açıkça büküyorsun. "Kuralları çiğniyor" demiyorum, ama kesinlikle tartışmalıdır.
Glen O

7

Bu cevap dizgi değişmezleriyle ilgili kural eklenmeden önce oluşturuldu ve yarışmaya katılmıyor.

#include <iostream>
int main(){std::cout<<56+"  !$%^&*?12347890-_QWERTYUIOPASDFGJKLZXVBNM,.qypfghjk:zvbHel\x6Co, world!";}

Tamamen yasal. : P Bu dizeden herhangi bir karakteri kaldırırsanız, yazdırılır ello, world!.


Lütfen kodunuzun puanını cevabınıza ekleyin.
ProgramFOX

Ayrıca puanınızı değiştirmez, ancak etrafındaki boşlukların <<kaldırılması gerekir.
Martin Ender

1
Hmmm ... cevabınızı alkışlarken, öncelikle kısıtlarımda küçük bir delik açığa çıkardı. Sana bir oy vereceğim ve başkalarının da istedikleri takdirde aynı şeyi yapmaları için mutluyum, ancak ek bir kısıtlama ile düzenleyeceğim.
Glen O

1
Tamam, önceki yorumuma ek olarak, dize ve karakter değişmezlerinin alakalı olması gerektiğini belirten bir kısıtlama ekledim - içlerindeki karakterlerin değiştirilmesi sonucu değiştirebilmelidir. Bu, if 'x'>'w'tekniklere izin verir , ancak "k \ bH" komutunun örneğin "H" ile sonuçlanmasını engeller. Eklenen kısıtlamanın ardından ikinci bir yanıta katkıda bulunmaktan çekinmeyin.
Glen O

4

CJam, 94

{'H"EJO, WoRLD!"el96A+c/~_-3=0$@}"# 
`&^<>|;:?.()[]\1aBCdfFgGhiIjkKmMnNpPqQrsStTuUvVwxXyYzZ"254b87%*

Çevrimiçi deneyin! Hat beslemesinden hemen önce bir tablatör olması gerektiğini unutmayın. SE tabloları sevmez, bu yüzden manuel olarak eklemeniz gerekir.

  • 100 karakter uzunluğunda
  • tekrarlanan alnum: -0 ()
  • tekrarlanan noktalama işaretleri: -6 ("" ")
  • tekrarlanan diğer: -0 ()
  • tekrarlanan boşluk: -0 ()

Toplam Puan: 94

Dize içindeki karakterlerin hiçbirinin kaldırılamayacağını kontrol etmek için aşağıdaki kodu kullandım:

"#  
`&^<>|;:?.()[]\1aBCdfFgGhiIjkKmMnNpPqQrsStTuUvVwxXyYzZ"
:A,,{_A\<A@)>+254b87%}%`

Kaç kez merhaba dünyayı gösteren bir dizi yazdırır ! dizine karşılık gelen karakter kaldırılırsa yazdırılır.


Bağlantınızda çalıştırdığımda, "Merhaba dünya!" arka arkaya altı kez. Ayrıca, karakter dizisi ne yapıyor?
Glen O

Yeni satırın hata olduğunu tahmin ediyorum - kaldırılması işe yaradı.
Glen O

Kopyala-yapıştır sorunu. LF'den hemen önce bir tablo olmalıdır. SE bunu yapmama izin vermiyor gibi görünüyor ... Dize, bir taban-254 numarası ( 254b) olarak kabul edilir. Son sonuç modülü 7 1 olmalıdır, bu nedenle önceki kod bloğu bir kez yürütülür. Her karakteri gerekli kılmak için bir modüle ihtiyacım olacak.
Dennis

Eh, çıkarma, ( "düzeltme" kod yapar) eksik sekmede ekledikten sonra Z, Tsonuç değişmez veya muhtemelen birkaç karakteri.
Glen O

Sorunuzun bir kısmını korkunç bir şekilde yanlış yorumlamıştım. Şimdi düzeltildi.
Dennis

3

Yakut, 28 41

Sadece cevapları sorunun ruhu içinde bir çözümle başlatmak için:

print"He#{?l*2}o, "+'world!'if[$`&(9<=>6)^7|~8-5/3.1%0x4]

Puanlama (Sanırım bunu doğru anladım):

  • 57 karakter uzunluğunda
  • tekrarlanan alnum: -12 ( orli)
  • tekrarlanan noktalama işaretleri: -4 ( "')
  • tekrarlanan diğer: -0
  • tekrarlanan boşluk: -0

Bana göre iyi, puanlama açısından. Geçerli olmayan cezaları dahil etmeye gerek yoktur, ancak bunları dahil etmede herhangi bir zarar vermez.
Glen O

.İçinde 3.1sorun olmadan kaldırılabilir. Olabildiğince xiçinde 0x4veya -içinde 8-5.

3

PHP, 1 (evet, bir puan!)

İkili biçimde "Cehennem", "o, w", "orld" ve "!" İle eşleşen bir sağlama toplamı oluşturmak için sihirli karakterler kullanma.

Genellikle boşluklar bulmayı severim, ancak bu sefer yarışmanın ruhu ve amacı ile oynamaya karar verdim. Her karakter ve konumu çıktı için şarttır. Eğer yerine yegâne yerler değişmez değerleri değildir değişken adları arasındaki boşluk vardır phpve eşdeğer olarak davranır ve kullanımı vs hangi benzer olarak davranır.foreachPHP'"PHP

<?php foreach(array('_MC:`~+V4@SbHR/l[J','dN#UB`5!Rv^NG@D}','9gm6L&-kuD','8OM97g.q]XQ0')as$j)print(hash("crc32",$j,1))?>

Bilginize, bunlar diğer bazı sihirli dizeler ve ilgi karmaları:

E.D}S:  Hell
9UDIRQ: Hell
N\7&*`%:    orld
UWX[E^O:    orld
mAHzDEb:    !   
uLJ7Ck&:    Hell
B+bG5mYJ:   Hell
:OvMzuOR:   !   
TgYR9g!6k:  o, w
NkFN`!8mI:  o, w
N#VA\j~}J[: Hell
vEl*]@0XQ5: o, w
9gm6L&-kuD: orld
*}{Xg@HN`\: !   
Pj@Y44uA6YJ:    Hell
|7OX0VF8gv}:    !   
DLRJAjgMj}\:    !   
!0bT*D}O4Lw:    orld
YGN97^v7ZY`:    Hell
++~bL/kP:|]W:   o, w
8OM97g.q]XQ0:   !   
l^m-DqZ^g[&+:   !   
Ewu]Rv~*DHQ7:   Hell
JIqjgF|S!\`8l:  Hell
b4l!MEG7vTu6/:  Hell
+B:zEq*J\k-Cm:  !   
_}E7wZD76^`Y9AU:    orld
q:Nq-~+_S7~N9Hz:    !   

Kod hala fonksiyonları Ben kaldırırsanız \t, \nya uzay. Bir PHP uzmanı değil, aynı ;zamanda isteğe bağlı görünüyor.
mniip

@mniip - Düzenlemeler yapıldı. Noktalı virgülün bazı durumlarda isteğe bağlı olduğunu bilmiyordum.

3

Befunge-98 , 97 puan!

"v!dlrow ,h
B[CDEFGIJkLMNOPH
$<QRSTUV@|5cg1fe':-%\64*ab+7_/89}{0  j2
WXYZK`.=#>]
s()impq	n 3~
Atuxz&;y^ ?

Çevrimiçi deneyin!

Sekme arasındadır qve n.

Satırları kalan karakterlerle doldurmak için önceki Befunge yanıtına benzer bir numara kullanır, ancak yürütme bölümünde yinelenen karakterler kullanmaktan kaçınır. Yürütmeyen karakterlerden herhangi birinin kaldırılması, yürütme bölümlerinin yerinden çıkmasına ve genellikle sonsuz döngülere neden olmasına veya yanlış çıktı yazdırılmasına neden olur.

Nasıl çalışır

Gerçekten, tek yürütme kısmı şöyle görünür:

"v!dlrow ,h
         k     H
$<      @|5cg1fe':-%\64*ab+7
         >]
        ^ ?

İlk , world!olarak yığına eklemek için bir sarma dizesi hazır bilgisi kullanır . Bu iki "s önler .

$<      @|5cg1fe':-%\64*ab+7

Bu Hello, yinelenen karakterlerden kaçınmak için çeşitli yöntemler kullanarak yığına ekler . $sarma dizesinin değişmezinin neden olduğu fazla alanı açar.

7+holuşturmak için dizgi değişmezinin sonuna gelen 7 değerini ekler o . ba*46\%:111 değerini, ascii değerini hesaplar lve çoğaltır.

'e yığına e ekler.

f1g karakteri 1,15 olarak alır. H

Daha sonra ,, dizeyi bütünün çıktısını almak için yeniden kullanır Hello, world!. Gerisi sadece sona doğru gitmek için yön değişiklikleri @.


1

Yakut, 78

Daha fazla kural kötüye, sanırım, yamanın ne olacağını tam olarak bilmiyorum. Uzun bir dize alır ve sonucun toplamını kontrol eder, böylece herhangi bir silme veya değişiklik programın başarısız olmasına neden olur. Muhtemelen bazı harflerin çoğaltılması ve orada boşluk almak için biraz optimize edilebilir.

puts('Hello, world!')if%["\#$&*+-/:;<>?@ABCDEFGIJKLMNOPQRSTUVWXYZ^_`abcghjknqvxyz{|}~123].sum==4980

3
Sorun şu ki, sonra ve ifkutu dahil her şey kaldırılabilir.
seequ

@TheRare - ifgerçekten işe yaramazsa ve bundan sonraki şeyler hala kurallara uyduğu sürece, bununla ilgili yanlış bir şey yok.
Glen O

@GlenO Ama "çıkarılabilir kod" olarak sayılmaz mı? Sadece puts('Hello, world!')işe yarar. Bence bu yasalsa kuralların açıklığa kavuşturulması gerekiyor.
seequ

@TheRare - gez, muhtemelen bir süpürme "kodun bir alt kümesi aynı çıktı üretme yeteneğine sahip olmamalı" kullanmalıydım, ama kuralları değiştirmeye devam etmeliyim sanmıyorum. Durdukça, kod işlevsel ve keyfi olmadığı ve diğer kuralları izlediği sürece meşrudur. En azından, bu çözüm yöntemi çoğu dilde gerçekleştirilemez (yaptığım düzenleme, çoğu dilde çalışan bir boşluk bıraktı).
Glen O

@GlenO Siz hakimsiniz. Gereksiz olduğunu düşünüyorsanız, bu yorumları silmemi isteyin.
seequ

1

PHP, 2257

Döngü deliği: ters eğik çizgi teknik özelliklerden ve skor hesaplayıcısından çıkarıldı!

Bu kod, her dizede ters eğik çizgi oluşma sayısını sayar ve bir ASCII eşdeğerini yazdırır. Ters eğik çizgiyi başka bir karakterle değiştirmek veya ters eğik çizgiyi silmek, ayrıştırma hatasına neden olur veya sonucu değiştirir.

Ters eğik çizgilerle ilgili düzgün bir özellik ve kaçmaları PHPgerekiyor, böylece skor otomatik olarak iki katına çıkıyor! Ters eğik çizgi sayısını çarparak skoru yeniden ikiye katlayabilir, üçlü, vb.

<?php foreach(array('\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\','\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')as$x)print(chr(substr_count($x,"\\")))?>

Açıkça bir yazım hatası değil, bir boşluktan başka bir şey değildir. Dahası, bunu zaten biliyordun. Açıklamada açıkça "diğer ASCII karakterleri" yazıyor. Bunu okuduğunuzda, onu içerecek şekilde düzenlenmiş olacak.
Glen O

Özellikle, ters eğik çizgi sorunun kaynağıydı, ama bunun bir kaçış dizisi olarak davrandığını fark etmemiştim.
Glen O

Bu kurallarda bir değişiklik değil, küçük bir yazım hatasını düzeltiyor. Ters eğik çizgi kurallardaydı, sadece görüntülenmiyordu (bunu kendiniz görmek için "düzenlenmiş" düğmesini tıklayın, ardından "yan yana işaretleme" yi tıklayın). Diğerleri boşluklardan faydalanmıyor, dillerinin özelliklerini kullanıyorlar.
Glen O

1

Befunge - 87

"dlrow ,olleH"bk,                                                                   v
!#$%&'()*+-./0123456789:;  <=>?ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`acfghijmnpqstuvxyz{|}~@

İlk satır, tüm tekrarlama nedeniyle dört puan değerindedir, ancak ikinci satırda yinelenen karakter yoktur. Bu koddaki tek dize değişmez değeri dlrow ,olleH, ters çevrilir ve çıktı olarak yazdırılır. Herhangi bir karakterin kaldırılması v, ilk satırın @sonundaki ikincinin sonundaki bağlantıyı keserek programın hiçbir zaman sona ermemesine neden olur. Eğer vkendisi kaldırılır, ardından kodun doğru çıkış baskı sonsuz döngüye gidecek.



0

Acc !! , -138 (ve evet bu negatif 138)

Bu tam olarak şimdiye kadar PPCG aldım en iyi puanı olmayabilir, ancak bu Acc daha yüksek alabilir şüpheli !!

108
Write 72
Write 101
Count i while i-2 {
	Write _
}
Write _+3
Write 44
Write 32
Write 119
Write 111
Write 114
Write _
Write 100
Write 33

Çevrimiçi deneyin!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.