สองสิ่งที่ทำให้ความแตกต่าง - ตำรวจ


60

ประกาศ - ความท้าทายนี้ปิดตอนนี้ คำตอบใหม่ใด ๆ จะถูกละเว้นและคำตอบที่ยอมรับจะไม่เปลี่ยนแปลง

ท้าทาย

เขียนโปรแกรมที่ถูกต้องซึ่งเมื่อมีเพียงสองตัวอักษรในโปรแกรมที่มีการเปลี่ยนแปลงลบหรือเพิ่มการเปลี่ยนแปลงอย่างสมบูรณ์เอาท์พุท

เอาต์พุตที่เปลี่ยนแปลงต้องมีระยะทาง Levenshtein 15หรือมากกว่าจากเอาต์พุตดั้งเดิมของคุณ

ผลลัพธ์จะต้องไม่ว่างเปล่าและมีขอบเขต จำกัด โปรแกรมของคุณจะต้องสิ้นสุดภายใน 1 นาที

ผลลัพธ์ของคุณจะต้องกำหนดไว้ล่วงหน้าโดยให้ผลลัพธ์เหมือนกันทุกครั้งที่คุณเรียกใช้โปรแกรม มันจะต้องไม่ขึ้นอยู่กับแพลตฟอร์ม

ฟังก์ชันแฮชใด ๆ จะไม่ได้รับอนุญาตเช่นเดียวกับที่สร้างขึ้นใน PRNG ในทำนองเดียวกันการหว่าน RNG ไม่ได้รับอนุญาต

หลังจากผ่านไปสามวันการส่งที่ไม่ได้ติดตามจะปลอดภัย เพื่อเรียกร้องความปลอดภัยนี้คุณควรแก้ไขคำตอบของคุณเพื่อแสดงคำตอบที่ถูกต้อง (การชี้แจง: จนกว่าคุณจะเปิดเผยคำตอบคุณจะไม่ปลอดภัยและยังสามารถแตกได้)

การจัดรูปแบบ

คำตอบของคุณควรอยู่ในรูปแบบต่อไปนี้:

# <Language name>, <Program length>

## Code

<code goes here>

## Original Output

<output goes here>

## Changed output

<changed output goes here>

โจร

ความท้าทายของโจรคือการค้นหาว่าคุณเปลี่ยนตัวละครตัวไหน หากโจรปล้นทางออกของคุณพวกเขาจะแสดงความคิดเห็นในคำตอบของคุณ

คุณสามารถค้นหาด้ายโจรที่นี่

การชนะ

ผู้ที่มีทางออกที่ไม่ได้ติดตามสั้นที่สุดจะเป็นผู้ชนะ

ลีดเดอร์บอร์ด

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>site = 'meta.codegolf';postID = 5686;isAnswer = false;QUESTION_ID = 54464;var safe_list=[];var uncracked_list=[];var n=0;var bycreation=function(x,y){return (x[0][0]<y[0][0])-(x[0][0]>y[0][0]);};var bylength=function(x,y){return (x[0][1]>y[0][1])-(x[0][1]<y[0][1]);};function u(l,o){ jQuery(l[1]).empty(); l[0].sort(o); for(var i=0;i<l[0].length;i++) l[0][i][1].appendTo(l[1]); if(l[0].length==0) jQuery('<tr><td colspan="3" class="message">none yet.</td></tr>').appendTo(l[1]);}function g(p) { jQuery.getJSON('//api.stackexchange.com/2.2/questions/' + QUESTION_ID + '/answers?page=' + p + '&pagesize=100&order=desc&sort=creation&site=codegolf&filter=!.Fjs-H6J36w0DtV5A_ZMzR7bRqt1e', function(s) { s.items.map(function(a) { var he = jQuery('<div/>').html(a.body).children().first(); he.find('strike').text(''); var h = he.text(); if (!/cracked/i.test(h) && (typeof a.comments == 'undefined' || a.comments.filter(function(b) { var c = jQuery('<div/>').html(b.body); return /^cracked/i.test(c.text()) || c.find('a').filter(function() { return /cracked/i.test(jQuery(this).text()) }).length > 0 }).length == 0)) { var m = /^\s*((?:[^,;(\s]|\s+[^-,;(\s])+)\s*(?:[,;(]|\s-).*?([0-9]+)/.exec(h); var e = [[n++, m ? parseInt(m[2]) : null], jQuery('<tr/>').append( jQuery('<td/>').append( jQuery('<a/>').text(m ? m[1] : h).attr('href', a.link)), jQuery('<td class="score"/>').text(m ? m[2] : '?'), jQuery('<td/>').append( jQuery('<a/>').text(a.owner.display_name).attr('href', a.owner.link)) )]; if(/safe/i.test(h)) safe_list.push(e); else uncracked_list.push(e); } }); if (s.length == 100) g(p + 1); else { var s=[[uncracked_list, '#uncracked'], [safe_list, '#safe']]; for(var p=0;p<2;p++) u(s[p],bylength); jQuery('#uncracked_by_length').bind('click',function(){u(s[0],bylength);return false}); jQuery('#uncracked_by_creation').bind('click',function(){u(s[0],bycreation);return false}); } });}g(1);</script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><style>table th,table td { padding: 5px;}th { text-align: left;}.score { text-align: right;}table a { display: block;}.main { float: left; margin-right: 30px;}.main h3,.main div { margin: 5px;}.message { font-style: italic;}</style><div class="main"><h3>Uncracked submissions</h3><table> <tr> <th>Language</th> <th class="score">Length</th> <th>User</th> </tr> <tbody id="uncracked"></tbody></table><div>Sort by: <a href="#" id="uncracked_by_length">length</a> <a href="#" id="uncracked_by_creation">creation</a></div></div><div class="main"><h3>Safe submissions</h3><table> <tr> <th>Language</th> <th class="score">Length</th> <th>User</th> </tr> <tbody id="safe"></tbody></table></div>


@BetaDecay คุณจะกำหนดฟังก์ชันแฮชได้อย่างไร
isaacg

1
@xnor ตามหลักวิชา แต่จำนวนความเป็นไปได้เพิ่มขึ้นอย่างมากเมื่อความยาวของโปรแกรมเพิ่มขึ้นและอาจใช้เวลานาน
Beta Decay

1
@ RedPanda ใช่ฉันคิดอย่างนั้น
Beta Decay

5
@isaacg ฉันตัดสินใจเปลี่ยนวันที่ปลอดภัยเป็นสามวัน
Beta Decay

4
เป็นไปได้ไหมที่จะวางโค้ดลีดเดอร์บอร์ดในบรรทัดที่น้อยลงเพื่อให้มีพื้นที่ว่างในการมองเห็นน้อยลง
isaacg

คำตอบ:


6

CJam, 13 ไบต์ (ปลอดภัย)

J{m!_)mQ%2b}/

ลองออนไลน์

เอาท์พุทเดิม

000010010101001010001101111000111011100110100100001011101101010100011111110010010010001111111111010000010011001110001010011111000010001001110111100000010110000010000111011011110101110010000011100111100

แก้ไขเอาต์พุต

11101101100011110001011010000100111011000010011101100000001010100111011010011011010111101000000011101111100000000110001000111110110110101111110100101110000101110100110011110000010101110

วิธีการแก้

J{m!_)ci%2b}/

ลองออนไลน์

มันทำงานอย่างไร

สิ่งนี้ใช้ประโยชน์จากวิธีที่ CJam พิมพ์สแต็กทั้งหมดโดยนัยหลังจากดำเนินการโปรแกรม

เพียงทิ้งการเป็นตัวแทนฐาน 2 ของจำนวนเต็มไม่กี่ตัวบนสแต็กทำให้พิมพ์โดยไม่ต้องมีตัวคั่นดังนั้นจึงยากที่จะทราบว่าจุดใดจุดหนึ่งเริ่มต้นและอีกจุดสิ้นสุด

รหัสเดิมทำสิ่งต่อไปนี้:

J{   e# For each I from 0 to 18, do the following:
  m! e#   Calculate the factorial of I.
  _) e#   Push a copy and add 1.
  mQ e#   Compute the result's integer square root.
  %  e#   Calculate the residue of the factorial divided by the square root.
  2b e#   Push the array of base 2-digits of the resulting integer.
}/   e#

ในฐานะที่เป็น @AndreaBiondo บันทึกในความคิดเห็นการเป็นตัวแทนไบนารีของ0! ถึง8! สามารถพบได้ที่จุดเริ่มต้นของการส่งออก (ช่องว่างเพิ่มเพื่อความชัดเจน):

1 1 10 110 11000 1111000 1011010000 1001110110000 1001110110000000

การเปลี่ยนแปลงที่ตั้งใจคือการแทนที่mQด้วยciซึ่งใช้มอดูโลจำนวนเต็ม 65536 โดยใช้เลขคณิตตัวอักษร 16 บิต (ส่งไปยังอักขระ 16 บิตที่ไม่ได้ลงชื่อแล้วกลับไปเป็นจำนวนเต็ม)

ฉันหวังว่าความคิดของการใช้cเพื่อแทนที่ตัวดำเนินการทางคณิตศาสตร์จะไม่ชัดเจนเพียงพอ


ว้าว. คุณมากับสิ่งนี้ได้อย่างไร
The_Basset_Hound

ฉันพยายามที่จะถอดรหัสนี้สักพัก ฉันคิดว่าเป็นส่วนหนึ่งของรูปแบบที่แก้ไข แต่ฉันขาดอะไรไป ตอนนี้ฉันเดาว่าปลอดภัยแล้ว
Andrea Biondo

@AndreaBiondo ได้แล้วตอนนี้ ขอบคุณที่เตือนฉัน.
เดนนิส

@Dennis ผมเคยคิดว่า_)mQจะต้องเปลี่ยนเป็นf(x!)เช่นนั้นf(x!) > x!สำหรับx <= 8และf(x!) < x!สำหรับx >= 9เพราะx!เห็นได้ชัดถูก modulo'ed จากจำนวนที่เหลือ factorials 0-8 เหมือนเดิมในการส่งออกได้ ผมไม่ได้สังเกตเป็นปัจจัยแรกที่มีขนาดใหญ่กว่า9! 2^16ความท้าทายที่ดีมากอยู่แล้ว
Andrea Biondo

39

แตกระแหง

เช็คสเปียร์ 1721 ไบต์

ฉันลองคำตอบของเช็คสเปียร์ มันไม่สั้นและฉันก็ลำบากที่จะเปลี่ยนเอาท์พุตด้วยตัวละครเพียง 2 ตัว แต่ฉันคิดว่าฉันทำได้ค่อนข้างดี ขอให้ทุกคนโชคดี ในฐานะที่เป็นข้อความด้านข้างฉันใช้ "คอมไพเลอร์" ที่มีอยู่ในที่อยู่นี้และอาจไม่สามารถใช้งานกับที่อยู่อื่นได้ (มันไม่ทำงานกับล่ามออนไลน์) ผลลัพธ์ไม่ได้มีอักขระที่ไม่สามารถพิมพ์ได้ใด ๆ

รหัส

การเปลี่ยนแปลงที่ซ่อนอยู่

เฮเลนหญิงสาวที่มีความอดทนอย่างน่าทึ่ง
เฮเลนาหญิงสาวที่มีพระคุณอันงดงามเช่นเดียวกัน
เคลาดิโอเป็นคนที่น่าทึ่งในการโต้แย้งกับคาร์ดินัล
คาร์ดินัลที่ประจบประแจง
อาร์คบิชอปแห่งแคนเทอร์เบอรี่ไร้ประโยชน์


          Act I: Claudius ด่าและเยินยอ

          ฉากที่ 1: การดูหมิ่นของเฮเลน

[เข้าสู่ Claudius และ Helen]

คาร์ดินัล:
 เจ้ามีขนดกเหมือนผลรวมของลูกกำพร้าพ่อที่น่าขยะแขยง 
 แมวอ้วนแมวอ้วนเน่าเสียเก่าและสงครามสาปแช่งที่สกปรกขนาดใหญ่
 เจ้าโง่เขลาเหมือนผลผลิตของเจ้าและเจ้าเหม็นเป็นไขมัน 
 ครึ่งไหวพริบเลวทรามน่าสมเพชลูกชายอ่อนแอ

[Exeunt]

          ฉากที่สอง: คำชมเชยของเฮเลนา

[เข้าสู่ Claudio and Helena]

เคลาดิโอ:
 ท่านเป็นคนที่มีแดดจ้าน่าอัศจรรย์ความภาคภูมิใจที่ดีต่อสุขภาพและมีความสุข
 เจ้าช่างน่าทึ่งอย่างผลงานของเจ้าและคนสวย
 น่ารักอ่อนโยนหนุ่มหล่อรวยฮีโร่ เจ้าเก่งมาก
 ในฐานะที่เป็นผลรวมของเจ้าและผลิตภัณฑ์ของทองที่ยุติธรรมรวดเร็วดีซื่อสัตย์ 
 กษัตริย์ผู้สูงศักดิ์ผู้มีเสน่ห์และมีเสน่ห์

[Exeunt]

          ฉากที่ III: การดูถูกของเคลาดิโอ

[เข้าสู่ Claudius และ Helen]

เฮเลน:
 เจ้าโง่เขลาเหมือนผลรวมของเจ้าและแมวกับฉัน
[ออกเฮเลน]

[เข้าสู่ Claudio]

คาร์ดินัล:
 เจ้าเป็นคนโง่อย่างผลรวมของเจ้าและผลผลิตของเจ้า 
 ผลิตภัณฑ์ของฉันและเฮเลนและเฮเลนา

[Exeunt]

          ฉากที่ IV: การนับถอยหลังครั้งสุดท้าย

[เข้าสู่บิชอพแห่งแคนเทอร์เบอรีและคาร์ดินัล]

คาร์ดินัล:
 คุณเป็นผลรวมของคุณและแมว

อาร์คบิชอปแห่งแคนเทอเบอรี่:
 ฉันดีกว่าถนนดีไหม

คาร์ดินัล:
 ถ้าไม่ให้เรากลับไปดูถูกเคลาดิโอ

[ออกจากหัวหน้าบาทหลวงแห่งแคนเทอร์เบอรี่]

[เข้าสู่ Claudio]

คาร์ดินัล:
 เปิดใจ!
 เปิดใจ!
[Exeunt]

เอาท์พุทเดิม

11324620811132462081

เปลี่ยนผลลัพธ์แล้ว

11

9
มหัศจรรย์อย่างแท้จริง เรื่องนี้ทำให้ฉันน้ำตาไหล
Alex Van Liew

6
@AlexVanLiew ฉันใช้เวลานานมากในการเขียน มันเป็นผลงานชิ้นเอกของฉัน!
AboveFire


คำตอบที่ดีมาก
ภูมิใจ Haskeller

24

J, 76 ไบต์ (ปลอดภัย)

รหัส

,:|.,.<,:>><|.,:>,.<|.>,:<<|.>|.,:,.<,.<,:,.<,:>|.<,:>,.|.<,:,.|.<<,:>126$a.

เอาท์พุทเดิม

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐││
│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│││
││││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐││││
│││││     ┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}│││││
││││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││││
│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│││
││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││
│└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

เปลี่ยนผลลัพธ์แล้ว

┌──────────────────────┐
│┌────────────────────┐│
││┌──────────────────┐││
│││┌────────────────┐│││
││││┌──────────────┐││││
│││││┌───────────┬┐│││││
││││││0 0 0 0 0 0│││││││
│││││└───────────┴┘│││││
││││└──────────────┘││││
│││└────────────────┘│││
││└──────────────────┘││
│└────────────────────┘│
└──────────────────────┘

แก้ไข: {:เพิ่มโซลูชัน(แสดงระหว่าง###)

,:|.,.<,:>><|.,:>,.<|.>,:<<|.>|.,:,.<,.<,:,.<,###{:###:>|.<,:>,.|.<,:,.|.<<,:>126$a.

ทำให้การใช้ monad แผนที่{:: ส่วนที่เหลือของรหัสส่วนใหญ่เป็นขยะที่ไร้ประโยชน์


โปรดทราบว่าฉันสามารถขยายรหัสด้วยจำนวนอักขระที่ไร้สาระเพื่อให้ค้นหาจุดที่ยากขึ้นซึ่งตัวละครทั้งสองจำเป็นต้องเพิ่ม / ลบ / เปลี่ยน
Fatalize

ฉันคิดว่า 3 วันสำหรับคนนี้ดังนั้นถ้าคุณโพสต์คำตอบคุณจะปลอดภัย
isaacg

@isaacg ถูกต้องแก้ไขคำตอบแล้ว
Fatalize

12

แตกระแหง

ทับทิม, 14

รหัส

x=9;puts x*9*9

เอาท์พุทเดิม

729

เปลี่ยนผลลัพธ์แล้ว

99999999999999999

4
มันดูไร้เดียงสามาก ฉันได้พยายามและฉันได้พยายาม แต่ผมไม่ทราบว่าจะได้รับจาก 17 ...
เดนนิส

1
ฉันคิดว่ามันเป็นยุค 18 ปีดังนั้นฉันจะทำอะไรแบบ'99'*2นี้ wcคุณทรยศฉัน!
Alex Van Liew

@AlexVanLiew 18 คงเป็นเรื่องง่าย ตำหนิเชลล์ของคุณสำหรับการต่อท้าย linefeed
เดนนิส

@Dennis คุณจะทำอย่างไรกับอายุ 18 ปี? ฉันไม่สามารถเข้าใจมันได้ (แต่ฉันก็ไม่รู้เหมือนกันว่า Ruby)
Alex Van Liew



10

แตกระแหง

Prolog ขนาด 10 ไบต์

รหัส

X is 1/42.

เอาท์พุทเดิม

X = 0.023809523809523808.

เปลี่ยนผลลัพธ์แล้ว

X = -2.


2
ด้วยเหตุผลบางอย่างฉันมองข้ามความจริงที่ว่าสิ่งนี้สามารถแก้ไขได้เช่นนี้: X is 1//4-2.ซึ่งง่ายกว่าที่จะเห็นโซลูชันเดิมของฉันที่ @ sp3000 แตก ...
Fatalize

10

แตกระแหง

Python 2, 43 ไบต์

รหัส

print (sum(range(054321)*9876)*87654)/01234

เอาท์พุทเดิม

334960491355406

เปลี่ยนผลลัพธ์แล้ว

222084148077792

ระยะทางของ Levenshtein เท่ากับ 15 ทั้งของจริงและของที่เปลี่ยนนั้นใช้เวลาน้อยกว่า 1 นาทีบนคอมพิวเตอร์


1
ฉันได้แก้ไขโพสต์ของคุณเพื่อแสดงว่านี่เป็นการส่งเฉพาะ Python 2 เนื่องจากวงเล็บที่ขาดหายไปprintและการคูณrangeด้วยจำนวนเต็ม อย่างไรก็ตามดูเหมือนว่าฉันจะได้รับMemoryErrorจากรายการที่มีขนาดใหญ่ ...
Sp3000

1
เนื่องจากนี่ไม่ใช่โค้ดกอล์ฟคุณสามารถลดภาระหน่วยความจำโดยใช้xrangeแทนrangeและฉันเชื่อว่าitertoolsมีตัวสร้างตัวสร้างที่ทำซ้ำตามxจำนวนครั้ง
Alex Van Liew

1
@AlexVanLiew แต่การให้คะแนนเป็นโค้ดกอล์ฟในแง่ที่สั้นที่สุด ต้องบอกว่าถึงแม้จะมีพื้นที่ที่ไม่จำเป็นและ parens คู่ ... หรือพวกเขาจำเป็น? ;)
Sp3000

2
IMO คำตอบนี้ดูเหมือนจะไม่น่าสนใจหากสิ่งนี้ขึ้นอยู่กับการเปลี่ยนตัวเลขที่เกี่ยวข้องเท่านั้น (เราไม่ทราบว่าเป็นกรณีนี้) เพราะในกรณีนี้คุณอาจจะสั้นลงและวิธีเดียวที่จะทำให้แตกเป็นเพียง ด้วยกำลังดุร้ายไม่ใช่ความฉลาด
ทำให้เสียชีวิต

3
แตกระแหง นั่นเป็นเรื่องสนุก!
isaacg

8

แตกระแหง

BrainFuck ขนาด 504 ไบต์

ไม่มีใครควรจะต้องวิเคราะห์รหัส brainfuck นี่เป็นรุ่นก่อนหน้าของการแก้ไขรหัส แต่การเปลี่ยนแปลงใด ๆ ในรหัส Brainfuck สร้างความแตกต่างใหญ่ในการส่งออก ฉันใช้ล่ามที่http://esoteric.sange.fi/brainfuck/impl/interp/i.htmlเพื่อทดสอบรหัสของฉัน โชคดี !

รหัส

++++++++++[->++++++++<]>>++++++[-<---------->]<-------[----------->>>-<<+<[-->->+<<]]>>>+<<>>>+++[->++++++++++<]>++.<+++++++++[->>>>>>>++++++++++<+++++<++++++++++++++<++++++++++<+++++<++++++++++<<]++++++++++>>+++++...>++>++>-->+>++++<<<<<<<.<<<[->>>>>>.<<>>>>>.<<<<<.>>>>>.<<<<<>>>.<<<<.>>>>>.<<<<.>>>>>.<<<<<.>>>>.<<<<<.>>>>.<<...>.<<<<<<]>[->>>>>.<<...>>>.<<<<.>>>>>.<<<<...>>>>.<<<<<.>>>>.<<...>.<<<<<]>[->>>>.<<>>>>>>.<<<<<<..>>>.<<<<.>>>>>.<<<<>>>>>>.<<<<<<.>>>>>>.<<<<<<>>>>.<<<<<.>>>>.<<...>.<<<<]

เอาท์พุทเดิม

 ___
/   \
|   |
\___/

เปลี่ยนผลลัพธ์แล้ว

}}}\}}}|.}}}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\

หมายเหตุ: เอาต์พุตที่เปลี่ยนแปลงประกอบด้วยอักขระ STX (ASCII 2) และ EOT (ASCII 4) หลายตัว

นี่คือรุ่นที่มีรหัส ASCII ในวงเล็บแทนอักขระที่ไม่สามารถพิมพ์ได้:

(2)}}}(2)\}}}|(2).}}}.(2)|///\\(4)}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|/(4)/\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\

3
คุณเป็นคนชั่วร้าย แต่ฉันจะพบมัน!
RedPanda

@ RedPanda รหัสของฉันมีโครงสร้าง อย่างน้อยมันก็ไม่สุ่ม! โชคดี!
AboveFire

มี unprintables ใด ๆ ในผลลัพธ์หรือไม่
ภูมิใจ haskeller

@proudhaskeller ใช่แล้วฉันจะแก้ไขโพสต์นี้มีตัวละคร STX (ASCII 2) และ EOT (ASCII 4)
AboveFire


8

แตกระแหง

ภาษา Wolfram (Mathematica หรือ WolframAlpha) ขนาด 3 ไบต์

รหัส

8.!

เอาท์พุทเดิม

40320.

เปลี่ยนผลลัพธ์แล้ว

2.67182 - 0.891969 I

สำหรับผู้ที่ลองใช้ WolframAlpha ผลลัพธ์จะปรากฏเป็น

กราฟิกทางคณิตศาสตร์

ฉันลบคำตอบก่อนหน้าของฉันเพราะมันทำงานเฉพาะใน Mathematica และไม่อยู่ในWolframAlpha นั่นทำให้โจรอยู่ข้างหลัง paywall (แทนที่จะเป็นบาร์ที่สมควรได้รับ) ซึ่งไม่ยุติธรรม




1
คำตอบของอีกคนหนึ่งคืออะไร? ฉันอยากรู้มาก
Brain Guider

7

แตกระแหง

MATLAB / OCTAVE ขนาด 7 ไบต์

รหัส:

cos(pi)

เอาท์พุทเดิม:

ans =

     -1

เปลี่ยนเอาท์พุท:

ans =

   1.5708 - 0.8814i

สิ่งนี้ทำให้ Levenshtein มีระยะทางเท่ากับ 15



3
ทิปออฟใหญ่สำหรับฉันสังเกตว่าส่วนที่แท้จริงของผลลัพธ์ที่คุณเปลี่ยนแปลงคือ pi / 2 จากตรงนั้นไม่ยากที่จะเดาทางออก
เดวิดจาง

7

แตกระแหง

CJam, 8 ตัวอักษร

รหัส

"~f":i:#

เอาท์พุทเดิม

17290024234092933295664461412112060373713158853249678427974319674060504032816100667656743434803884485234668769970047274563123327020396104330878852891146011372048615474145637592955298601510765168228550988848615653376

เปลี่ยนผลลัพธ์แล้ว

เอาท์พุทหลังการแก้ไขเป็นที่นี่ ทั้งสองใช้เวลาไม่ถึงนาทีในแล็ปท็อป 2GHz ของฉัน

คำอธิบาย

ผู้คนต่างประหลาดใจกับวิธีการทำงานของมัน รหัสใช้งานได้ดังนี้:

"~f"       Push a string
    :i     Convert to a list of bytes [126 102]
      :#   Fold with # (power)

สิ่งนี้คำนวณ 126 ^ 102 ทางออกคือ:

"}\t~f"
       :i     Convert to a list of bytes [125 9 126 102]
         :#   Fold with # (power)

วิธีนี้จะคำนวณ ((125 ^ 9) ^ 126) ^ 102 ซึ่งมีความยาวหลายแสนหลัก


6
นี่เป็นความผิดทางอาญา
Alex Van Liew

อะไรนะ ... ฉันอยากรู้ว่ามันใช้งานยังไง! ;)
Beta Decay


@BetaDecay ฉันสามารถอธิบายได้ว่าต้นฉบับทำงานอย่างไร แต่ไม่ใช่รุ่นของเดนนิส ฉันสงสัยว่า Mauris แปลว่ามันจะแก้ปัญหาได้อย่างไร ...
Alex Van Liew

กล้วยศักดิ์สิทธิ์! WTF!
Brain Guider

7

แตกระแหง

Pyth, 8 ไบต์

รหัส:

%CG^3y21

ผลผลิตเริ่มต้น:

51230235128920219893

เปลี่ยนเอาท์พุท:

58227066

1
CG mod (2^21 * 28)เปลี่ยนเท่ากับเอาท์พุท ผมไม่ทราบว่า Pyth ดังนั้นฉันไม่สามารถดูวิธีการเปลี่ยน(3 ^ (2 * 21))ลงไปว่า ...
ลินน์

1
นอกจากนี้เท่ากับCG sum(256**n * (122-n) for n in range(26))
ลินน์

1
การส่งออกที่มีการเปลี่ยนแปลงยังเท่ากับCG mod (2^21 * 28 * 2*n)ที่1 <= n <= 4, เช่นเดียวกับและn=6 n=12นอกจากนี้ยังCGเป็นเพียงตัวอักษรตัวเล็กที่ตีความว่าเป็นตัวเลขฐาน 256 ฉันสงสัยว่ามีโมดูโลอีกตัวที่ฐาน 3 หรือไม่?
Alex Van Liew

%CG^2 26หรือ%CG^4y13, แต่ทั้งคู่มีระยะทาง 3 ...
Jakube


6

แตกระแหง

Python 2, 58 ไบต์

รหัส

R=range(01234);print sum(m<<min(m,n)for m in R for n in R)

เอาท์พุทเดิม

2444542772018013876036977350299418162656593659528311114655474359757543862791958572561591492595632222632192542272836836649846934427359810217936317967768095940470375690509652583392001888886352103127515963142

เปลี่ยนผลลัพธ์แล้ว

4669

กฎระยะ 15 นั้นทำให้แน่ใจว่าทุกอย่างยุ่งยาก ฉันหวังว่ามันจะเป็นไปด้วยดี


ความจริงที่ว่า 4669 = 667 * 7 และองค์ประกอบสุดท้ายของช่วง (01234) คือ 667 เป็นที่น่าสงสัยสำหรับฉัน ...
Fatalize

หากคุณพิมพ์ออกมา[m<<min(m,n)for m in R for n in R]ในล่ามคุณจะได้ลวดลายลวดลายสีขาวเสียงที่น่ากลัวจริงๆ
Alex Van Liew


6

แตกระแหง

Python 2, 50 ไบต์

รหัสเดิม:

'~'*sum([(x,y)[x%2]for x in[y for y in range(8)]])

เอาท์พุทเดิม:

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

แก้ไขเอาต์พุต:

'~~~~~~~~~~~~~~~~~~~'

ไม่สั้นเกินไปและอาจไม่ยากเกินไปฉันไม่รู้จริงๆ ฉันจะพยายามหาสิ่งที่ดีกว่าในไม่ช้า


นั่นคือตัวหนอน 40 ตัวและ 19 ตัวหนอนไหม และฉันคิดว่านี่จะทำงานในล่ามหรือไม่
Alex Van Liew

แคร็กฉันคิดว่า
Alex Van Liew

2
บทสรุปของสิ่งที่ฉันพบจนถึงขณะนี้: ไม่มีการแทนที่xด้วยy, yด้วยx, หรือการเปลี่ยนตัวเลขในrangeผลลัพธ์เป็น 19 tildes ฉันยังทดลองใส่-ก่อนหน้าxหรืออย่างใดอย่างหนึ่งyและด้วยการเปลี่ยน%เป็นอย่างใดอย่างหนึ่ง+ - / *เพื่อประโยชน์ ตอนนี้ฉันค่อนข้างแน่ใจแล้วว่าต้องมีเม็ดมีด 1 หรือ 2 อัน
mbomb007

1
โอเคลิงค์แรกของฉันตอนนี้มันแตกอย่างถูกต้อง
Alex Van Liew

2
ฉันเพิ่มคำอธิบายเล็ก ๆ ฉันคิดว่าอันนี้ฉลาดจริงๆ ฉันไม่ทราบว่าฉันเคยเห็นความเข้าใจที่ตั้งไว้และการพึ่งพา Python ที่รั่วไหลyเข้าไปในขอบเขตการปิดล้อมก็เป็นสิ่งที่ดี
Alex Van Liew

6

แตกระแหง

PHP, 164 ไบต์

รหัส

$S_U_M_M_E_R = 1;
$A_U_T_U_M_N = 2;
$T_I_M_E = 1;

if ($T_I_M_E == $S_U_M_M_E_R) {
    $A_C_=$T_I_=$O_N= 'SWIM' ? 'TAN' : 'DRINK';
}

print $T_I_M_E * $A_U_T_U_M_N;

เอาท์พุทเดิม

2

เปลี่ยนผลลัพธ์แล้ว

-1.1306063769532


ทำได้ดี! ฉันไม่คิดว่ามันจะเป็นการแตกง่าย
Razvan

6

GolfScript 15 ไบต์ (ปลอดภัย)

รหัส

10,{1+3?}%{*}*]

เปลี่ยนรหัสแล้ว

107,{1+3?}%{^}*]

เอาท์พุทเดิม

47784725839872000000

เปลี่ยนผลลัพธ์แล้ว

557154

Explainations:

10,             # numbers from 0 to 10
   {1+3?}%      # add one and raise to the cube. (%=for each)
          {*}*] # take the product and place it in a list(useless)`

เปลี่ยนรหัสแล้ว

107,             # numbers from 0 to 107
    {1+3?}%      # add one and raise to the cube. (%=for each)
           {^}*] # xor them and place it in a list(useless)

ฉันเชื่อว่าสิ่งนี้จะปลอดภัยในขณะนี้ดังนั้นหากคุณต้องการแก้ไขโพสต์ของคุณ
Beta Decay

@BetaDecay ฉัน!
Baconaro

5

แตกระแหง

APL , 7 ไบต์

รหัส

-/3⍴157

เอาท์พุทเดิม

157

เปลี่ยนผลลัพธ์แล้ว

0.11479360684269167J0.37526348448410907

นั่นคือJหลักฐานที่แสดงว่ามันเป็นจำนวนเชิงซ้อนหรือไม่?
mbomb007

@ mbomb007 ใช่หมายถึงจำนวนที่ซับซ้อนaJb a + bi
เดนนิส


4

แตกระแหง

C, 53 ไบต์

รหัส

main(a,_){puts(_*_*_*_*_-1?"Expected Output":"?");}

เอาท์พุทเดิม

Expected Output

เปลี่ยนผลลัพธ์แล้ว

?

อาจจะง่ายเกินไป แต่ใครจะรู้ (หมายเหตุ: มันขึ้นอยู่กับระบบในทางเทคนิค แต่ประเภทของระบบที่มันล้มเหลวก็จะล้มเหลวในการส่งอื่น ๆ ทั้งหมดที่นี่ดังนั้นฉันคิดว่ามันเป็นจุดที่สงสัย)

แตกระแหง

แก้ไข

ฉันทำผิดพลาด รหัสใหม่ที่ปลอดภัยยิ่งขึ้นต่อการโจมตีที่ชัดเจน:

main(a,_){puts(_*_-1||_*_*_-1||_*_*_*_-1?"Expected Output":"?");}

เอาท์พุทเดียวกัน ใหม่ขนาด 65 ไบต์ หวังว่าจะหนักขึ้น ... ถึงแม้ว่าอาจจะง่ายเกินไป




2
(หมายเหตุด้านข้าง - นี่น่าจะเป็นคำตอบสองข้อ)
Sp3000

@ Sp3000 คุณอาจจะถูกต้องถึงแม้ว่าเป้าหมายของต้นฉบับคือการมีทางออกที่เหมือนกันฉันแค่เพ่งความสนใจไปที่ปัญหาของการนับ * ที่แปลกมากเกินไป ง่ายขึ้น * 0 เปลี่ยนแปลง
LambdaBeta

4

แคร็กโดย issacg

MATLAB, 20 ไบต์

รหัส

format long
sin(i^pi)

เอาท์พุทเดิม

0.331393418243797 - 1.109981778186163i

เปลี่ยนผลลัพธ์แล้ว

0.220584040749698 - 0.975367972083631i

ฉันลองไอเดียมากมายในล่ามอ็อกเทฟออนไลน์ ยังคงไม่มีอะไร. ฉันพยายามสิ่งเช่นการใช้sinh, asin, tan, pi^iฯลฯ ...
mbomb007

@ mbomb007 - ฉันอยู่ที่การสูญเสียที่นี่ด้วย ... และฉันอยู่อันดับที่ 5 ใน StackOverflow ใน MATLAB โดยรวม!
rayryeng - Reinstate Monica



4

CJam, 28 ไบต์ (ปลอดภัย)

"jK=\~"5*)ib257b~{G$5$+}*]Jb

ลองมันออนไลน์

เอาท์พุทเดิม

7705397905065379035618588652533563996660018265606606763127193120855297133322151462150247488267491212817218321670720380456985476811737021068519164822984561148339610474891720342171053455881107227302663880445203851079295537592154028123394687360216561235621729967011148112746984677807932995700334185726563970223018774

แก้ไขเอาต์พุต

16650180159137697345989048346412185774444335111603430666402604460993564226370500963166158223117360250140073061887053326627468495236957122711656527124216908303912850181595147494475577084810653496778801228980874902968634143062

วิธีการแก้

"jK=\~"5*Wcib257b~{G$5$+}*]Jb

ลองออนไลน์

มันทำงานอย่างไร

ฉันลงน้ำเล็กน้อยกับอันนี้ ...

รหัสเดิมทำสิ่งต่อไปนี้:

"jK=\~"5* e# Push "jK=\~jK=\~jK=\~jK=\~jK=\~".
)i        e# Pop the last character and cast it to integer.
b257b     e# Convert the remainder of the string from that base to base 257.
~         e# Dump all resulting base-257 digits on the stack:
          e# 137 72 124 88 81 145 85 32 28 251 118 230 53 13 245 147 256 116 187 22 224
{         e# Do the following 224 times:
  G$5$+   e#   Add copies of the 5th and 17th topmost integers on the stack
          e#   (recurrence of a lagged Fibonacci sequence).
}*        e#
]         e# Wrap the entire stack in an array.
Jb        e# Convert from base 19 to integer.
          e# The resulting integer is printed implicitly.

การเปลี่ยนแปลงความตั้งใจที่จะเปลี่ยนด้วย(iWci

สิ่งนี้ทำให้สตริงซ้ำซ้ำไม่มีการแตะและผลักดัน65535 (โดยการคัดเลือกไปยังอักขระ 16 บิตที่ไม่ได้ลงชื่อจากนั้นกลับสู่จำนวนเต็ม) เพื่อให้องค์ประกอบแรกของลำดับฟีโบนักชีล้าหลังกลายเป็น

87 225 162 210 73 196 142 219 175 61 40 147 0 93 75 55 103 116 237 188 108 122 176 133 135 240 251 155 224 82 181 75 23 87 139 49 148 169 84 109 110 166 52 103 83 185 78 73

และวนซ้ำ126ครั้ง


ตอนนี้ปลอดภัยแล้วใช่มั้ย
Beta Decay

@BetaDecay ฉันใช้เคล็ดลับเดียวกันกับ CJam ทั้งคู่ตอบดังนั้นฉันจึงต้องรอการโพสต์ทั้งสองโซลูชั่นในครั้งเดียว ตอนนี้ปลอดภัยแล้ว
เดนนิส

เมื่อฉันรู้ว่าสิ่งนี้เกิดขึ้นฉันก็รู้ว่ามีหลายสิ่งหลายอย่างที่อาจถูกปรับแต่งที่ฉันไม่เคยแม้แต่จะพยายามบังคับเดรัจฉานอย่างนี้ ... การทำงานที่ดี :)
Sp3000

4

Javascript, 47 (ปลอดภัย)

รหัส

for(var i=64460,x=773;i>=1324;)x=i--/x;alert(x)

เอาท์พุทเดิม

11.948938595656971

เปลี่ยนผลลัพธ์แล้ว

3.679331284911481

ระยะทางเท่ากับ 15

ทดสอบใน Chrome และ IE

วิธีการแก้

for(var i=64460,x=773;i>>=1<324;)x=i--/x;alert(x)

สิ่งนี้ใช้โอเปอเรเตอร์การกำหนดบิตกะi>>=1เพื่อทำให้รอบการวนรอบไม่ใช่แบบเส้น นอกจากนี้ยังมีคุณสมบัติที่น่าขบขันที่ใครบางคนพยายามที่จะดุร้ายกำลังแก้ปัญหาจะทำงานในหลายรูปแบบที่ทำงานไม่สิ้นสุด


3

แตกระแหง

Fantom , 26

รหัส

Float.makeBits(1123581321)

เอาท์พุทเดิม

5.55122931E-315

เปลี่ยนผลลัพธ์แล้ว

124.24518585205078

ความปลอดภัยผ่านความสับสนหากไม่มีใครรู้ภาษาไม่มีใครสามารถถอดรหัสได้ Levenshtein ระยะทาง 15 วิ่งเป็นแฟน


ฉันเดาว่าฉันต้องเรียนรู้ Fantom ...
เหนือไฟไหม้


3

แตกระแหง

CJam, 6 ตัวอักษร

25mse7

เอาท์พุทเดิม

-1323517.5009777304

เปลี่ยนผลลัพธ์แล้ว

72004899337.38588

นี่อาจจะง่ายเกินไป : P


แตก? ผลลัพธ์แตกต่างกันเล็กน้อยในเบราว์เซอร์ของฉัน (และแตกต่างอย่างสิ้นเชิงกับล่าม Java)
เดนนิส

@Dennis ไม่แน่ใจว่าทำไม แต่การเปลี่ยนแปลงนั้นถูกต้อง
The_Basset_Hound


3

Brainfuck, 100 ไบต์

รหัส

++++++++++++++++++++++++++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<[>.+<-]

เอาท์พุทเดิม

ABCDEFGHIJKLMNOPQRSTUVWXYZ

เปลี่ยนผลลัพธ์แล้ว

[
  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ

หมายเหตุ: อาจจะแตกง่าย แต่แล้ว Brainfuck ก็ไม่มีอะไรง่าย


2
มีอักขระที่ไม่สามารถพิมพ์ออกได้ในเอาต์พุตหรือไม่?
Sp3000

ดูเหมือนว่าจะมีคนกินน้อย แต่ก็ยังมีสิ่งที่ไม่สามารถพิมพ์ได้มากมายเมื่อฉันลองและคัดลอกและวางดังนั้นฉันเลยสมมติว่ามันเป็นอย่างนั้น
Sp3000

@ Sp3000 ไม่ต้องมีสิ่งใดที่ไม่สามารถพิมพ์ออกมาได้ คุณใช้ล่ามคนไหน
Kurousagi

วิธีการไม่เท่ากับของฉัน - ลองต่อไป
Kurousagi

5
หากคุณสามารถโพสต์รหัส ASCII จริงของเอาท์พุทที่จะน่ากลัว
Alex Van Liew

3

แตกระแหง

modern Perl 5, 70

รหัส

@array = (qw smiles) x 11;
s/.*// foreach @array;
print "@array\n";

เอาท์พุทเดิม

ขึ้นบรรทัดใหม่

เปลี่ยนผลลัพธ์แล้ว

 mile mile mile mile mile mile mile mile mile mile

เอาต์พุตเริ่มต้นด้วยช่องว่างและลงท้ายด้วย newline


@AlexVanLiew โปรดทราบว่ามีช่องว่างก่อน m แรก!
เดนนิส

@Dennis Oh ไม่! ฉันรู้ว่ามันไม่ง่ายอย่างนั้น
Alex Van Liew

ฉันไม่แน่ใจ แต่ฉันคิดว่าฉันมี ...
Dom Hastings

@ DomHastings ใช่! แก้ไขได้ดี ในขณะที่มีคนแสดงความคิดเห็นในโซลูชันของคุณอักขระเพิ่มเติมอาจเป็นพื้นที่เพิ่มเติมได้ทุกที่ ฉันพูดว่า "ทันสมัย" Perl 5 เพราะeachใช้กับอาร์เรย์เท่านั้นตั้งแต่บางรุ่น
msh210

2
หากเขาไม่ได้แตกคุณจะพูดว่า "พลาดไปหนึ่งไมล์" หรือไม่? : D
mbomb007


3

Perl 12 ไบต์

แตกระแหง

รหัส

print sin 97

เอาท์พุทเดิม

0.379607739027522

ผลลัพธ์ที่ต้องการ

-0.64618863474386

1
เราสามารถยืนยันได้ก็เกือบจะไม่แน่นอนprint sin xx, print sin xx97หรือprint sin 97xxที่xxใด ๆ สองหมายเลข
Alex Van Liew


@ DomHastings แน่นอน - ทำได้ดี จากความสนใจคุณทำเช่นนั้นได้อย่างไร
abligh

3
หลังจากที่ได้อ่านความคิดเห็น @ AlexVanLiew ของผมทดสอบตัวเลขที่คล้ายกัน9.?7, 9.7?ฯลฯ แต่รู้ว่ามันจะต้องมีการดำเนินการ พยายามทั้งหมดที่ฉันคิดในตัวอย่างเช่นperl -e 'print map{sin((+"9${_}")x7).$/}1..9'ในที่สุดก็มีการรวมกันที่เหมาะสม!
Dom Hastings

@DomHastings ล่าช้า +1 ของคุณแล้ว
abligh

3

แตกระแหง

SWI-Prolog ขนาด 54 ไบต์

รหัส

assert(d(E,F):-(print(E),print(F))). d(123456,123456).

เอาท์พุทเดิม

true.

123456123456
true.

เปลี่ยนผลลัพธ์แล้ว

true.

false.

ฉันพยายามให้ล่าม SWI-Prolog ทำงานเมื่อวันก่อน แต่ทำไม่ได้ดังนั้นฉันจะแทงตัวในที่มืด ถ้าคุณลบEและFในprintงบคุณได้รับสิ่งที่คุณต้องการ?
Alex Van Liew

@AlexVanLiew ฉันได้รับข้อผิดพลาดทางไวยากรณ์จากนั้น
Sp3000

@AlexVanLiew ไม่ถูกต้อง
ลดขนาด

อ่า คุ้มค่ากับการยิง
Alex Van Liew

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.