পাঠ্য সংক্ষেপণ


18

নীচে প্রদত্ত পাঠ্যের সাথে, পাঠ্যে কিছু শব্দ রয়েছে যা পাঠ্যে বেশ কয়েকবার পুনরাবৃত্তি করে। একটি সংক্ষিপ্ত কোড লিখতে যে কোনও প্রোগ্রামিংয়ের ভাষা ব্যবহার করুন যা পাঠ্যটিকে প্রদর্শন করতে সংকোচিত করে। বা অন্য কথায়, পাঠ্যটি প্রদর্শন করতে সর্বনিম্ন বাইট ব্যবহার করুন।
পাঠ্যটি হ'ল:

Peter Piper picked a peck of pickled peppers.
A peck of pickled peppers Peter Piper picked.
If Peter Piper picked a peck of pickled peppers,
Where's the peck of pickled peppers Peter Piper picked?

6
আমি সত্যই অবাক হয়েছি যে এই রিক-রোল প্রশ্নের ডুপ হিসাবে বন্ধ হয়ে যায়নি। আমরা কি আর তা করছি না?
জো কিং

1
এটা @JoKing হয় একটি ভিন্ন স্ট্রিং। একই চ্যালেঞ্জের জন্য সামান্য বৈচিত্র্য কখনও কখনও মজাদার হতে পারে।
moonheart08

@ moonheart08 খুব নিশ্চিত যে পয়েন্টটি মেটাতে নামানো হয়েছে।
ম্যাজিক অক্টোপাস উরান

উত্তর:


9

আর , 106 বাইট

"["=gsub
cat(1["Peter Piper picked",2[" peck of pickled peppers","1 a2.
A2 1.
If 1 a2,
Where's the2 1?"]])

এটি অনলাইন চেষ্টা করুন!


1
এটি এলিয়াসিংয়ের খুব চালাক ব্যবহার !!
জিউসেপ

1
দুর্দান্ত সমাধান! এটি মেমপ্রেস পদ্ধতিকেও মারধর করে 47 + 79 = 126 বাইট
digEmAll

1
এই ধারণাটি আমাকে এখানে আরও একটি বাইট সংরক্ষণ করেছে !
জিউসেপে

বাহ, আমি যে গল্ফ স্পষ্ট না। এটি সত্যি দেখতে খুব সুন্দর.
জে.ডো

8

জেলি ,  80 73 72 68 67 61  57 বাইট

“¡ŀṪ]ṃ{yṁ“Ñ3$ṘW5Ḍż⁸¢Hŀ“³ḌM“¡FỊİg“ÑɲʋØƥþƈƘ}“ṣɠ»“Ƙ9~ḷ’ṃFḊ”?

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

“...“...“...“...“...“...»“Ƙ9~ḷ’ṃFḊ”? - Main Link: no arguments
“...“...“...“...“...“...»            - list of compressed strings
                                     -   = [" Peter Piper picked",
                                     -      " peck of pickled peppers",
                                     -      ".\nA",
                                     -      ".\nIf",
                                     -      ",\nWhere's the",
                                     -      " a"]
                         “Ƙ9~ḷ’      - base 250 literal X = 2331781969
                               ṃ     - base decompress - i.e. use the list of strings as if
                                     -   they were the digits [1,2,3,4,5,0]
                                     -   X in base 6 is [1,0,2,3,2,1,4,1,0,2,5,2,1], so:
                                     -   [" Peter Piper picked",
                                     -    " a",
                                     -    " peck of pickled peppers",
                                     -    ".\nA"," peck of pickled peppers",
                                     -    " Peter Piper picked",
                                     -    ".\nIf",
                                     -    " Peter Piper picked",
                                     -    " a",
                                     -    " peck of pickled peppers",
                                     -    ",\nWhere's the",
                                     -    " peck of pickled peppers",
                                     -    " Peter Piper picked"]
                                F    - flatten
                                 Ḋ   - dequeue (remove the leading space)
                                  ”? - literal '?' character (causes print of previous)
                                     - implicit print (of the '?' character)

5

বুবলগাম , 73 71 বাইট

00000000: 0b48 2d49 2d52 08c8 2c00 9205 99c9 d9a9  .H-I-R..,.......
00000010: 290a 890a 05a9 c9d9 0af9 6960 819c d414  ).........i`....
00000020: 20bf 0028 5fac c7e5 884b 4a01 d31c 3d2e   ..(_....KJ...=.
00000030: cf34 0552 8cd7 e10a cf48 2d4a 552f 5628  .4.R.....H-JU/V(
00000040: c948 25c1 227b 00                        .H%."{.

এটি অনলাইন চেষ্টা করুন!


2
আপনি কীভাবে কোনও বুদবুদ উত্তরের বাইটগুলি শেভ করলেন?
লাইকনি

2
@ লাইকনি আসল by৩ বাইট উত্তরটি gzipসর্বোচ্চ সংকোচনের স্তরের ( -9) প্লাস কিছু মেটাডেটা শেভিং ব্যবহার করে তৈরি করা হয়েছিল headএবং tail, op১ বাইট জোপফ্লি ব্যবহার করে তৈরি করা হয়েছিল, যা আমি প্রাথমিকভাবে ভুলে গিয়েছিলাম। জোপফ্লি সাধারণত ছোট ডিফল্ট স্ট্রিম তৈরি করে।
ovs

হ্যাঁ, আমি জোফফ্লিতে 5,000,000 পুনরাবৃত্তি চেষ্টা করেছি, এটি 3109 পুনরাবৃত্তির 71-বাইটের অতীতের কিছুই খুঁজে পায় নি
লেজিওনম্যামাল 978

5

জাভাস্ক্রিপ্ট (স্পাইডারমনকি) , 114 বাইট

print(`0 a1.
A1 0.
If 0 a1,
Where's the1 0?`.replace(/\d/g,n=>+n?' peck of pickled peppers':'Peter Piper picked'))

এটি অনলাইন চেষ্টা করুন!

আমি দাবি করব এই উত্তরটি ovs থেকে , যাইহোক, 19 বাইট সংরক্ষণ করা হয়েছে।

ধন্যবাদ আরনাউল্ড , 3 বাইট সাশ্রয়



4

পাইথন 2 , 115 বাইট

a="Peter Piper picked"
b=" peck of pickled peppers"
print a,"a%s.\nA"%b+b,a+".\nIf",a,"a%s,\nWhere's the"%b+b,a+"?"

এটি অনলাইন চেষ্টা করুন!

তাদের মাঝে স্পেস রাখার জন্য একাধিক কমা-বিভক্ত স্ট্রিংগুলি মুদ্রণ করে।


পাইথন 3 , 115 বাইট

print("1 a2.\nA2 1.\nIf 1 a2,\nWhere's the2 1?".translate({49:"Peter Piper picked",50:" peck of pickled peppers"}))

এটি অনলাইন চেষ্টা করুন!

পাইথন 3 এর translateভারী উত্তোলন করে। একক-অঙ্কের ASCII মান সহ মুদ্রণযোগ্য অক্ষরগুলি ব্যবহার করে দুটি বাইট সংরক্ষণ করা উচিত।


1
exitপাইথন 3 প্রোগ্রামের জন্য 1 বাইট সাশ্রয় করে।
জোনাথন অ্যালান

4

জেলি , 64 60 58 57 বাইট

“¡ŀṪ]ṃ{yṁ“Ñ3$ṘW5Ḍż⁸¢Hŀ»j⁾ a,Ṛẋ2ż“³ḌM“¡FỊİg“ÑɲʋØƥþƈƘ}»FḊ”?

এটি অনলাইন চেষ্টা করুন!


বাহ, একই ভাষা এবং একই বাইট গণনা সহ আশ্চর্যজনকভাবে অন্য উত্তরের সাথে সমান। আমি আসলে জানি না যে এই ভাষায় কী ঘটছে, তাই কোডটি কি মৌলিকভাবে একই?
tox123

1
কোডটিতে প্রচুর ওভারল্যাপ হ'ল অভিন্ন সংকীর্ণ স্ট্রিং, যা অবাক হওয়ার মতো নয়।
মিশা লাভরভ

1
@ টক্স দুটি প্রোগ্রাম বর্তমানে একইভাবে কাজ করছে না (যদিও আমরা উভয়ই সংশোধনের ইতিহাসে একে অপরের মতো একই ধারণা ব্যবহার করেছি)। এইটি সংক্ষিপ্ত স্ট্রিং তালিকাগুলি ( “...“...») ব্যবহার করে চারটি লাইনের বেশিরভাগ গঠনের জন্য এবং তারপরে żকম পুনরাবৃত্তিমূলক অংশগুলির (যেমন ',\nIf') আবার সংক্ষেপিত স্ট্রিং তালিকার সাহায্যে ইন্টারলিভিং ( ) ; আপনি বর্ণনা থেকে আমার কাজ করে দেখতে পারেন।
জোনাথন অ্যালান

3

বাশ , 99

  • 4 বাইট সংরক্ষণ করেছেন @ মান্যাটওয়ার্ককে ধন্যবাদ।
echo "${P=Peter Piper picked} a${p= peck of pickled peppers}.
A$p $P.
If $P a$p,
Where's the$p $P?"

এটি অনলাইন চেষ্টা করুন!


3
আপনি ভেরিয়েবলের ঘোষণাগুলি তাদের প্রথম ব্যবহারের ক্ষেত্রে নির্ধারিত ডিফল্ট মান প্যারামিটার সম্প্রসারণের সাথে সরিয়ে নিতে পারেন: এটি অনলাইনে চেষ্টা করুন!
manatwork

1
@ মানাটওয়ার্ক বাহ, আমি বুঝতে পারি না যে আপনি এটি করতে পারবেন। 100 এর নিচে পেতে খুব সুন্দর - ধন্যবাদ! এই কৌশলটি ভাল বাশ টিপসের জবাব দেবে
ডিজিটাল ট্রমা


2

পাইথন 3 , 120 117 116 বাইট

a,b="Peter Piper picked"," peck of pickled peppers"
exit(f"{a} a{b}.\nA{b} {a}.\nIf {a} a{b},\nWhere's the{b} {a}?")

ফর্ম্যাট স্ট্রিংগুলি সংযোজন (129 বাইট) এবং একটি জোড় (140 বাইট) এর চেয়ে কম ছিল ।

-3 জো কিংকে ধন্যবাদ, -1 জনাথন অ্যালেনকে ধন্যবাদ


1
এটি কোনও ফর্ম্যাট স্ট্রিং নয়। এটি একটি ফর্ম্যাট স্ট্রিং। (117 বাইট)
জো কিং

1
প্রোগ্রাম stderr মে আউটপুট , তাই প্রতিস্থাপন 1 সংরক্ষণ printসঙ্গে exit
জোনাথন অ্যালান

2

জাভা (জেডিকে) , 123 বাইট

v->"".format("%s a%s.%nA%2$s %1$s.%nIf %1$s a%2$s,%nWhere's the%2$s %1$s?","Peter Piper picked"," peck of pickled peppers")

এটি অনলাইন চেষ্টা করুন!


আপনি কি এর মতো প্রয়োজনীয় যুক্তি নেওয়ার অনুমতি পাচ্ছেন?
কুইন্টেক

2
@ কুইন্টেক হ্যাঁ , যদি ইনপুটটি অব্যবহৃত থাকে
জো কিং

2

টুইগ, 105 বাইট

শূন্যস্থান পূরণ করতে এটি একটি সাধারণ প্রতিস্থাপন ব্যবহার করে।

টুইগের replace()ফিল্টার আপনাকে হ্যাশগুলির কী হিসাবে প্রতিস্থাপন করতে মানগুলি সংজ্ঞায়িত করতে দেয়। ভাগ্যক্রমে, এটি অ্যারেগুলির সাথেও কাজ করে, কারণ তাদের সংখ্যাসূচক কী রয়েছে।

{{"0a1.
A1 0.
If 0 a1,
Where's the1 0?"|replace(["Peter Piper picked"," peck of pickled peppers"])|raw}}

|rawপলায়নপর, পরিণত যা এড়াতে প্রয়োজন হয় Where'sমধ্যে Where's

আপনি এটি https://twigfiddle.com/phqpts এ চেষ্টা করতে পারেন


যেহেতু এটি পিএইচপিতে সংকলিত হয়েছে, তাই পিএইচপি এর সমতুল্য হবে:

<?php
    $array = array("Peter Piper picked", " peck of pickled peppers");
    $string = "0 a1.
A1 0.
If 0 a1,
Where's the1 0?";

    echo str_replace(array_keys($array), $array, $string);

যা তাত্পর্যপূর্ণভাবে সংক্ষিপ্ত করা যেতে পারে।







1

jq, 110 টি অক্ষর

(106 টি অক্ষরের কোড + 4 অক্ষর কমান্ড লাইন বিকল্পগুলি)

"1 a2.
A2 1.
If 1 a2,
Where's the2 1?"|gsub("1";"Peter Piper picked")|gsub("2";" peck of pickled peppers")

নমুনা রান:

bash-4.4$ jq -nr '"1 a2.
A2 1.
If 1 a2,
Where'"'"'s the2 1?"|gsub("1";"Peter Piper picked")|gsub("2";" peck of pickled peppers")'
Peter Piper picked a peck of pickled peppers.
A peck of pickled peppers Peter Piper picked.
If Peter Piper picked a peck of pickled peppers,
Where's the peck of pickled peppers Peter Piper picked?

এটি অনলাইন চেষ্টা করুন!


1

এসকিউএল সার্ভার, 211

declare @a char(18)='Peter Piper picked'
declare @b char(24)=' peck of pickled peppers'
declare @c char=char(10)
print @a+' a'+@b+'.'+@c+'A'+@b+' '+@a+'.'+@c+'If '+@a+' a'+@b+','+@c+'Where''s the'+@b+' '+@a+'?'

ডিবি <> বেহালার


চমৎকার সমাধান! উন্নত করার কয়েকটি উপায়: একাধিক ভেরিয়েবলের জন্য বিশ্রামের পরিবর্তে কমা ব্যবহার করুন declare; স্ট্রিংয়ের পরিবর্তে একটি প্রকৃত লাইন বিরতি ব্যবহার করুন char(10), বাস্তবে আপনি সরাসরি printবিবৃতিতে লাইন ব্রেকগুলি রেখে দিতে এবং @cসম্পূর্ণরূপে নির্মূল করতে পারেন । আপনার সর্বাধিক ব্যবহৃত ভেরিয়েবলটি চয়ন করুন এবং @নিজেই এটি ব্যবহার করুন (এর বৈধ!)
ব্র্যাডিসি

1

স্ট্যাক্স , 60 56 বাইট

╣lF╤╨┴+Y╟W╪▄,○F«↑•L°T»`┼◄ü√}x![Ñ$Θ☼²qσQ¼▬ôZ¡▄╙╥⌂å╛►¶▓&╗s

এটি চালান এবং এটি ডিবাগ করুন


1
এখানে একটি বাইট সংক্ষিপ্ত আনপ্যাক করা আছে এবং এটি মনে হয় অস্তিত্ব সম্পর্কে একটি গভীর বিবৃতি দিচ্ছে।
খুলদ্রেশেথ না'বাড়িয়া

"i am. Am i. If i am, Where's them i?" আমি হাসি থামতে পারি না। এই সোনার।
পুনরাবৃত্তি

ডেসকার্টস আমার উপর কিছু নয়।
খুলনাশেথ না'বাড়িয়া

1

টি-এসকিউএল, 137 বাইট

SELECT p+a+k+'.
A'+k+' '+p+'.
If '+p+a+k+',
Where''s the'+k+' '+p+'?'
FROM(SELECT'Peter Piper picked'p,' a'a,' peck of pickled peppers'k)b

FROMকেবলমাত্র পঠনযোগ্যতার জন্য এই শেষ রিটার্নটি, বাকী অংশগুলি স্ট্রিং কনকেন্টেশনের অংশ।

সানসির এসকিউএল সমাধানের চেয়ে আলাদা পদ্ধতি ।




0

লাল , 116 বাইট

prin rejoin[a:"Peter Piper picked"" a"b:" peck of pickled peppers"".^/A"b" "a".^/If "a" a"b",^/Where's the"b" "a"?"]

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

কাজটি rejoinফানসিওন দ্বারা সম্পন্ন হয় , যা মূল্যবোধকে হ্রাস করে এবং যোগ দেয়।

prin rejoin [                      ; print the reduced (evaluated) and joined block
    a: "Peter Piper picked"        ; save the text to a
    " a"                           ; literal " a"
    b: " peck of pickled peppers"  ; save the text to b
    ".^/A"                         ; literal newline followed by "A"
    b                              ; " peck of pickled peppers" 
    " "                            ; literal " "
    a                              ; "Peter Piper picked"
    ".^/If "                       ; literal ".^/If "
    a                              ; "Peter Piper picked"
    " a"                           ; literal " a"
    b                              ; " peck of pickled peppers" 
    ",^/Where's the"               ; literal "," folowwed by a newline by "Where's the"  
    b                              ; " peck of pickled peppers"      
    " "                            ; literal " "
    a                              ; "Peter Piper picked" 
    "?"                            ; literal "?"
]


0

পিএইচপি , 107 বাইট

<?=($a="Peter Piper picked")." a".($b=" peck of pickled peppers").".
A$b $a.
If $a a$b,
Where's the$b $a?";

এটি অনলাইন চেষ্টা করুন!


প্রথম লাইনে একটি পয়েন্ট মিস করছি।
জিবি

4 টি বাইট সংরক্ষণের জন্য কনটেনটেশনের পরিবর্তে কমা ব্যবহার করুন:<?=$a=...," a",$b=...,...
টাইটাস

0

05AB1E , 78 76 74 72 বাইট

’0 a1.
A10.
If0 a1,
W€Î's €€10?’TS.•1~¼ ¿•“±æ€‚ ÿÇì“'p0ǝ„íδŒ™„r¾Ð«‚ðì:¦

এটি অনলাইনে চেষ্টা করুন।

ব্যাখ্যা:

’0 a1.
A10.
If0 a1,
W€Î's €€10?’              # String "0 a1.\nA10.\nIf0 a1,\nWhere's the10?"
TS                        # 10 to digits: ["1","0"]
.•1~¼ ¿•                  # String "pickled"
        “±æ€‚ ÿÇì“        # String "neck of ÿ pepper", where the "ÿ" will 
                          # automatically be replaced with the top value of the stack
                  'p0ǝ    # Replace the character at index 0 with a "p":
                          #  "peck of pickled pepper"
„íδŒ                     # String "peter pipe"
     ™                    # Titlecased: "Peter Pipe"
      „r¾Ð                # String "r picked"
          «               # Merge them together: "Peter Piper pickled"
           ‚              # Pair them together:
                          #  ["peck of pickled pepper","Peter Piper pickled"]

            ðì            # Prepend a space before each:
                          #  [" peck of pickled pepper"," Peter Piper pickled"]
              :           # Replace the ["1","0"] with this list of strings
               ¦          # Remove the leading space (and output implicitly)

আমার এই 05AB1E টিপটি দেখুন তা বুঝতে:

  • ’0 a1.\nA10.\nIf0 a1,\nW€Î's €€10?’ হয় "0 a1.\nA10.\nIf0 a1,\nWhere's the10?"
  • .•1~¼ ¿• হয় "pickled"
  • “±æ€‚ ÿÇì“ হয় "neck of ÿ pepper"
  • „íδŒ হয় "peter pipe"
  • „r¾Ð হয় "r picked"


0

সি # (.নেট কোর) ,123 118 116 বাইট

v=>@"0 a1.
A1 0.
If 0 a1,
Where's the1 0?".Replace("0","Peter Piper picked").Replace("1"," peck of pickled peppers")

এটি অনলাইন চেষ্টা করুন!

@ অলিভার গ্রাওগায়ারের জাভা উত্তর দ্বারা অনুপ্রাণিত

@ বুদ্ধি দ্বারা 5 বাইট সংরক্ষণ করা হয়েছে


0

পিএইচপি , 102 বাইট

মূলত কেবল সংখ্যার সাথে পুনরাবৃত্তকারী শব্দ বা বাক্য পরিবর্তন করুন এবং তারপরে পিএইচপি-স্ট্রাইট প্রয়োগ করুন

<?=strtr("0 a 1.
A 1 0.
If 0 a 1,
Where's the 1 0?",["Peter Piper picked","peck of pickled peppers"]);

এটি অনলাইন চেষ্টা করুন!

অথবা

পিএইচপি , 144 বাইট

<?=strtr("0 1 25 a 3 of 2l5 4.
A 3 of 2l5 4 0 1 25.
If 0 1 25 a 3 of 2l5 4,
Where's the 3 of 2l5 4 0 1 25?",[Peter,Piper,pick,peck,peppers,ed]);

এটি অনলাইন চেষ্টা করুন!


0

পাওয়ারশেল, 99 101 বাইট

$a='Peter Piper picked'
$b=' peck of pickled peppers'
"$a a$b.
A$b $a.
If $a a$b,
Where's the$b $a`?"

1
Peter a = 'পিটার পাইপার বাছাই করা উচিত নয়'?
wooshinyobject

1
এটি প্রদর্শিত হয় যেন স্থানটি the $bআপনার জমাটি উভয়ই দীর্ঘ এবং অবৈধ করে তোলে ( টিআইও )।
জোনাথন ফ্রেচ

1
তদুপরি, আমি মনে করি আপনি [...]Peter Piper picked?নিজের আউটপুট শেষে একটি মিস করছেন।
জোনাথন ফ্রেচ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.