আপনার প্রিয় বাক্যাংশ প্রোগ্রাম করুন


28

হুবহু 5 টি দীর্ঘ লম্বা একটি উক্তি বা বাক্যাংশটি চয়ন করুন, যেমন Programming puzzles and code golf!

একটি প্রোগ্রাম লিখুন, যখন নিজেকে n বার সংযুক্ত করা হয় , আপনার বাক্যাংশের প্রথম n + 1 শব্দের ক্রম করে আউট করে।

উদাহরণস্বরূপ, যদি আপনার প্রোগ্রামের কোডটি ছিল MYPROGএবং আপনার বাক্যাংশটি Programming puzzles and code golf!চলমান ছিল ...

  • MYPROG আউটপুট করা উচিত Programming
  • MYPROGMYPROG আউটপুট করা উচিত Programming puzzles
  • MYPROGMYPROGMYPROG আউটপুট করা উচিত Programming puzzles and
  • MYPROGMYPROGMYPROGMYPROG আউটপুট করা উচিত Programming puzzles and code
  • MYPROGMYPROGMYPROGMYPROGMYPROG আউটপুট করা উচিত Programming puzzles and code golf!

4 বারের বেশি সংযোজন অনির্ধারিত, আপনার প্রোগ্রামটি কিছু করতে পারে।

বিধি

  • আপনার বাক্যাংশটি ব্যাকরণগত অর্থপূর্ণ ইংরেজি হতে হবে। আদর্শভাবে এটি সঠিকভাবে মূলধন এবং বিরামচিহ্ন হওয়া উচিত।
  • আপনার বাক্যাংশটি কোনও দৈর্ঘ্য হতে পারে তবে এর এনট্রপি হতে পারে, যেমনটি http://www.shannonalropy.netmark.pl/ দ্বারা গণনা করা হয় , 3.5 এর কম হতে পারে না
    (আপনার বাক্যাংশে আটকে দিন, গণনাটি হিট করুন এবং শেষ এইচ (এক্স) সন্ধান করুন ))
  • আপনার বাক্যাংশে কেবল প্রিন্টযোগ্য এএসসিআইআই অক্ষর থাকতে পারে (হেক্স 20 থেকে 7 ই)। আপনার কোডে কেবল প্রিন্টযোগ্য এএসসিআইআই এবং ট্যাব এবং নিউলাইন থাকতে পারে।
  • আপনার বাক্যাংশে অবশ্যই 5 টি অনন্য শব্দ এবং 4 টি স্থান থাকতে হবে । সমস্ত খালি স্থান শব্দের অংশ হিসাবে গণনা। স্পেসস শব্দের সীমানা। তারা নেতৃত্ব বা পিছনে নাও থাকতে পারে; সর্বশেষ শব্দ ছাড়া আর একটি থাকতে হবে।
  • আউটপুটে শব্দের মধ্যে একটি স্থান থাকা উচিত। প্রতিটি সংযোজন পদক্ষেপের আউটপুটে ট্রেলিং স্পেস থাকতে পারে তবে শীর্ষস্থানীয় স্থান নেই।
  • Stdout যাও আউটপুট। কোনও ইনপুট নেই।

স্কোরিং

আপনার স্কোরটি আপনার প্রাথমিক অ-সংযুক্ত প্রোগ্রামের বাইটগুলির দৈর্ঘ্য। (যেমন MYPROGscore স্কোর)

এটি কোড-গল্ফ হিসাবে, সর্বনিম্ন স্কোর জেতে।


21
ও, এনট্রপি এবং স্বতন্ত্রতার প্রয়োজনীয়তা আমার "মহিষ" এর ধারণাটিকে প্রবেশ হিসাবে হত্যা করে।
স্পার

4
"আপনার কোডটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই এবং ট্যাব এবং নিউলাইন থাকতে পারে until" অবধি আমি পিটেতে এত মজা করতে যাচ্ছিলাম। :(
Sp3000

3
@ Sp3000 আপনাকে সম্মানজনক উত্তর দেওয়ার জন্য আপনাকে স্বাগতম। আমি একটি পিট সমাধান দেখতে পছন্দ করব :)
ক্যালভিনের

এটিই একমাত্র পরিস্থিতি যেখানে হাস্কেলের বিশুদ্ধতা হুবহু সমস্যা ...
রাইময়েড

ব্যাকরণগত অর্থবহ ইংরেজী ব্যাকরণগত এবং অর্থবহ অর্থের বিভিন্ন ব্যাখ্যাগুলির কারণে "ব্যাকরণগত অর্থসূচক ইংরাজী" কী তা অস্পষ্ট।
মিল্কিওয়ে 90

উত্তর:


6

সিজোম - 24

"TheguywasnotI"Lm3<]S*:L

এটি http://cjam.aditsu.net/ এ চেষ্টা করুন

ব্যাখ্যা:

Lm"থিগুওয়াসনোটআই" থেকে এল (প্রাথমিকভাবে "") থাকা চিঠিগুলি সরিয়ে দেয়
3<প্রথম
]অ্যারেটিতে স্ট্যাকের সামগ্রী সংগ্রহ করে একটি অ্যারেতে স্ট্যাকের সাথে
S*যোগ হয় বিভাজক হিসাবে
:Lফলাফলটি স্ট্রিং এলকে নির্ধারিত করে (এটি স্ট্যাকের উপরে রেখেও) )

পুরানো সংস্করণ (২৮ বাইট):

"He is but a dog."S/W):W=]S*

ব্যাখ্যা:

S/স্পেস
W):Wইনক্রিমেন্টের দ্বারা বিভাজন ডাব্লু (প্রাথমিকভাবে ডাব্লু = -1)
=ডাব্লু শব্দটি
]একটি অ্যারের মধ্যে স্ট্যাকের সামগ্রী সংগ্রহ করে পৃথক
S*হিসাবে স্থান ব্যবহার করে অ্যারে যোগ দেয়


এই ভাষা সত্যই আকর্ষণীয়। যেমন তারা বলে, "আপনি প্রতিদিন একটি নতুন ভাষা সম্পর্কে শিখেন" ... বা এরকম কিছু। ভাল কাজ!
ব্রবিন

এটি প্রথম পোস্ট করা হওয়ায় ডেনিসের সমান সংক্ষিপ্ত উত্তরের পরিবর্তে এটি গ্রহণ করা ।
ক্যালভিনের

28

পিট (সম্মানের উত্তর)

এখানে চিত্র বর্ণনা লিখুন

সাপগুলি নীচের দিকে চলেছে, নীল দিয়ে ডানদিকে চলেছে এবং সবুজ দিয়ে আবার প্রবেশ করছে। প্রিন্ট আউট করে "ফল কলের মতো উড়ে যায়।"

আমি এটি তৈরির জন্য পিটক্রিটর ব্যবহার করেছি তবে আপনি এটি এখানে চেষ্টা করে দেখতে পারেন । পিট প্রোগ্রামগুলির পুনর্বিবেচনা একটি ব্যথা, তাই আমি 35x35 থেকে শুরু করে এবং সেভাবে চালিয়ে যাই, এর অর্থ হল যে আমি আমার প্রয়োজনের চেয়ে অনেক বেশি কোডেল ব্যবহার করেছি।

প্রকৃত আকারের সংস্করণ

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


11

> <> (৪২)

মাছ সত্যই সর্বশ্রেষ্ঠ পোষা প্রাণী। কিছু লোক যুক্তিবিজ্ঞানের অদম্য অভাবের কারণে পোষা প্রাণী হিসাবে বাগ রাখে। এই প্রোগ্রামটি এই জাতীয় ব্যক্তির সাথে যুক্তি দিয়ে সর্বাত্মক চেষ্টা করে।

!v'?od gub yna nac tahW;'00p!
<<|ov!
voo <

নোট করুন প্রোগ্রামটিতে এটি কোনও পূর্ববর্তী নিউলাইন নেই। সম্পূর্ণ আউটপুট প্রথম লাইনে বিপরীত হয়; সম্পূর্ণ বাক্যাংশটি হ'ল "কোনও বাগ কী করতে পারে?" (এন্ট্রপি 3.58418)।

সম্পূর্ণ ব্যাখ্যা:

এটি আমি আরও মজাদার> <> প্রোগ্রামগুলির মধ্যে একটি, যেহেতু এটিই প্রথম যা প্রতিফলন ব্যবহার করে। প্রোগ্রামের মাংসটি যেখানে প্রথম লাইন।

!v!পরবর্তী নির্দেশগুলি এড়িয়ে যাওয়ার কারণ হ'ল এটি কোনও অপ- অপশন।

'?od gub yna nac tahW;' পুরো বাক্যাংশটি স্ট্যাকের উপরে সঞ্চয় করে (এটি পিছনের দিকে কারণ প্রতিটি অক্ষর লিখিত ক্রমে স্ট্যাকের দিকে ঠেলাঠেলি করে থাকে, তাই এটি ভালভাবে পপ করার জন্য এটি অবশ্যই বিপরীত হওয়া উচিত)।

00pআসল যাদুটি ঘটতে শুরু করে। মনে রাখবেন এটি কেবল বাক্যাংশ সংরক্ষণ করে না, এটি একটিও সংরক্ষণ করে;00pস্ট্যাকের উপরে অবস্থানের (0, 0) স্ট্যাকের উপরে শীর্ষ অক্ষর সন্নিবেশ করানো হয়, সুতরাং এখন প্রোগ্রামের প্রথম অক্ষরটি একটি ;

শেষ ! এড়িয়ে যায় যা সেমিকোলন করে এবং কার্সারটির দিকে নিয়ে যায় v, যা প্রোগ্রামটিকে প্রবাহিত করে নিচের দিকে।

এখান থেকে, এগুলি সবই কেবল মুদ্রণের রুটিন। যেহেতু কোনও পেছনের নিউলাইন নেই, প্রোগ্রামটির ধারাবাহিক সংযোজনগুলি কেবল শেষ দুটি লাইন যুক্ত করে, ফলস্বরূপ, যেহেতু প্রথম লাইনটি ডানদিকে voo <থাকবে এবং এভাবে কখনই সম্পাদিত হবে না।

শেষে, কার্সারটি প্রোগ্রামের নীচে বাম দিকে নির্দেশিত হয় এবং উপরের বাম দিকে ফিরে জড়িয়ে যায়, যেখানে ;প্রোগ্রামটি শেষ করে আগে sertedোকানো হয়েছিল।


এক মিনিট আগে এটি প্রযুক্তিগতভাবে অবৈধ ছিল তবে আমি কেবলমাত্র অনুমিত পরিবর্তন করেছি যাতে কোডগুলিতে নিউলাইনগুলি (এবং ট্যাবগুলি) অনুমোদিত হয় (যা আমি মূলত যা চেয়েছিলাম) wanted
ক্যালভিনের

ওহ, আমার খারাপ, পুরোপুরি মিস হয়েছে যা উত্সটির জন্য প্রযোজ্য, কেবল বাক্যাংশ নয়। আমি খুশি যে অভিপ্রায় ছিল,> <> প্রোগ্রামগুলি মোটামুটিভাবে নতুন লাইনের উপর নির্ভর করে।
মাইক প্রাক্পআপ

আপনি যদি এটিকে কিছুটা গলফ করতে চান তবে আপনি 11 টি বর্ণ সহ একটি শব্দগুচ্ছ ব্যবহার করতে পারেন এবং কোনও পুনরাবৃত্ত অক্ষর যেমন "It is by a rope."আপনার বাক্যাংশটি অক্ষর পুনরাবৃত্তি করে, তাই এটির চেয়ে কম এনট্রপি রয়েছে।
isaacg

সমস্যাটি হ'ল প্রতিটি আউটপুটটি মূলত সুন্দরভাবে মুদ্রণের জন্য একই দৈর্ঘ্য হতে হবে, যেহেতু> <> সহজে স্পেস সনাক্ত করতে পারে না। আমি একটি ছোটও খুঁজে পেতে সক্ষম হইনি।
মাইক প্রাক্পআপ

2
@ আইসাক্যাগ ব্যক্তিগতভাবে আমি মাইকের বাক্যাংশটি পছন্দ করি;)
ক্যালভিনের

10

পাইথন 66

i='i'in dir()and i+1;print("Tfpcfhaialetgny"[i::5],end=" ."[i>3]);

এন্ট্রপি: 3.61635

Ouput:

The fat pig can fly.

পরিবর্তনশীল সনাক্তকরণ অংশটি সংক্ষিপ্ত করার টিপসের জন্য @ জেসনস এবং @ জিআরসি ধন্যবাদ।

আপডেট: দুষ্ট র‌্যাপারপাউন্ড ট্রিকের জেসনসের জবাব দেখুন যা এটিকে 55 বাইটে নামিয়ে দিয়েছে। :)


i=locals().get('i',-1)+1;-5 বাইট হয়
জেসন এস

আমাকে মার! আমি ব্যবহার করতে যাচ্ছি i='i'in dir()and i+1। সম্পাদনা করুন: বিধি পরিবর্তন করা হয়েছে।
grc

ঠিক আছে, এটি অন্য -4
জেসন এস

পাইথন 2 সহ 60 বাইট:i='i'in dir()and i+1;print"Tfpcfhaialetgny"[i::5]+" ."[i>3],
nyuszika7h

9

পাইথন 3, 55 (বোনাস 67)

# 55 bytes, H(X)=3.72, Based on bitpwner's 66. "Mix dog and cat fur."
i=0;print("Mdacfionauxgdtr"[i::5],end=" ."[i>3]);i+=1;i

# 67 bytes, H(X)=4.28. "Thanks for supporting Python development."
q=b"qx!%%0077C";a,b,*q=q;print((str(credits)*2)[49:][a:b],end='');q

# 60 bytes, H(X) = 3.51. "Fix the bed old pal"
s="Fixthebedoldpal";a,b,c,*s=s;print(a+b+c,end='. '[s>[]]);s

তুমি বোঝাতে চাইছ?

ঠিক আছে, # 2 (স্পোলার) এর কিছু ব্যাখ্যা

  • creditsপাইথন বিল্টিন যা আমি ব্যবহার করতে চাই পাঠ্য রয়েছে। এটি ফর্ম্যাটযুক্ত একটি বিশেষ ধরণের reprযাতে আপনি এটি কেবল ইন্টারেক্টিভ ইন্টারপ্রেটারে টাইপ করতে পারেন এবং সুন্দর আউটপুট দেখতে পারেন, তাই আমার কাছে str()এটি আছে। আমি এর জন্য বিল্টিনগুলি দেখার জন্য বেশ কিছুটা সময় ব্যয় করেছি এবং "পাইথন বিকাশের পক্ষে সমর্থন করার জন্য ধন্যবাদ" একটি বাক্যটি উত্তীর্ণ হওয়ার পক্ষে খুব ভাল ছিল।

  • যেহেতু প্রচুর পাঠ্য রয়েছে এবং আমি কেবল আমার 5 টি শব্দ চাই, তাই প্রতিটি স্ট্রিংয়ের শুরু এবং শেষের অবস্থানগুলি সঞ্চয় করতে চাই। এটি শুরুতে বাইটগুলিতে। bytesপাইথন 3-এ থাকা অবজেক্টগুলি যখন আপনি ক্রম ক্রিয়াকলাপগুলি ব্যবহার করেন তখন পূর্ণসংখ্যার অ্যারের মতো কাজ করে।

  • তবে কোডটিতে কেবল মুদ্রণযোগ্য অক্ষর থাকতে পারে তাই আমার একটি অফসেট (49) সন্ধান করতে হবে যা আমার সমস্ত অবস্থানের মানকে অক্ষর হিসাবে মুদ্রণযোগ্য করে তুলবে।

  • "থ্যাঙ্কস" স্ট্রিংয়ের শুরুতে যখন অন্য শব্দগুলি শেষের নিকটে, যার অর্থ আমার অবস্থানের মানগুলি মুদ্রণযোগ্য পরিসরে থাকা থেকে অনেক দূরে ছিল। 2 দ্বারা স্ট্রিংটি মুলিটপ্লেটিং "থ্যাঙ্কস" এর আরও একটি অনুলিপি তৈরি করে যা অন্য শব্দের নিকটবর্তী।

  • টেকিং [49:]স্ট্রিং এর ফালি উভয় a ও b 49 যোগ করার একাধিক কম উৎস বাইট।

  • তিনটি উত্তর ব্যবহার করা কনস্ট্রাক্ট হয় x=<value>;dostuff and increment;x। পেছনটি xমোটেও কিছু করে না, তবে কোডটির পরবর্তী কপির সাথে একত্র হয়ে গেলে এটি রূপান্তরিত হয় xx=<value>যা xকাউন্টারটি ওভাররাইট হওয়া থেকে বাধা দেয় ।

  • a,b,*q=q পাইথন 3 সিকোয়েন্সকে আনপ্যাকিং করা পুরোপুরি স্বাভাবিক।


+1 টি। দুষ্ট কৌশল :) আমি কি আমার উত্তরে এটি আপডেট করতে পারি?
ভেক্টরাইজড

ভাল, আমি আপনার মাঝখানে ব্যবহার করেছি
জেসন এস

আমি বর্তমানে আপনার দ্বিতীয় উত্তরটি অবাক করছি। এর মধ্যে অনেক কৌশল ছড়িয়ে আছে।
ভেক্টরাইজড

2
আপনি আমাকে দয়া করে বলতে পারেন, দ্বিতীয় উত্তরটি কীভাবে কাজ করে?
সাজাস

8

পাইথন 2 (37)

সারা তার স্থানীয় মেন্সা অধ্যায়ের সভাপতি হওয়ার পরে, তিনি একজন বুদ্ধিমান অংশীদার খুঁজছেন এমন পুরুষদের কাছ থেকে রোমান্টিক মনোযোগের কেন্দ্রবিন্দু হয়েছিলেন। প্রতি তারিখে, সারাহ একটি ব্যক্তিগত সংযোগ স্থাপনের চেষ্টা করবে, কিন্তু পুরুষরা কেবল তার গর্ভে দার্শনিক প্রশ্নগুলির তদন্ত করবে। হতাশ হয়ে বলেছিলেন যে কেউ তার আবেগময় দিক সম্পর্কে চিন্তা করেননি, তিনি উদ্বিগ্ন হয়ে বললেন ...

i=4;print"mniIMeosQy!t"[i::5],;i-=1;i

আউটপুট:

My
My IQ
My IQ is
My IQ is not
My IQ is not me!

এন্ট্রপি H(x)=3.5হুবহু

জেসন এস এর ক্রেডিট, যার উত্তর আমি মূলত পাইকারি ব্যবহার করে। iiWraparound কৌতুক বিস্ময়কর।


নিস! সঠিক এনট্রপির সাথে একটি ছোট বাক্যাংশ সন্ধানের জন্য প্রপস। আমি ইস্তফা দিলাম. এছাড়াও ভুলে গেছেন যে পিআই 2 printস্পেসগুলিকে সংযোজন করার পরিবর্তে সংশোধন করে
জেসন এস

পাইথনের উত্তরের জন্য এটি আশ্চর্যজনকভাবে সংক্ষিপ্ত! সাবাশ.
isaacg

আপনি আপনার প্রোগ্রামের মাঝামাঝি কমাটি 36 টি অক্ষরে নামিয়ে ফেলতে পারেন।
xleviator

8

সি - 65

মন্তব্য আপত্তি :)

char*z="Ah, \0the \0good \0ol' \0times!";
for(printf(z);*z++;);//

এ কারণে, নতুন লাইনগুলি গুরুত্বপূর্ণ এবং কোডটি নিম্নরূপ যুক্ত করা উচিত:

char *z="Ah, \0the \0good \0ol' \0times!";
for(printf(z);*z++;);//char *z="Ah, \0the \0good \0ol' \0times!";
for(printf(z);*z++;);//...

এটি একটি দুর্দান্ত সমাধান!
মিল্কিওয়ে 90

4

সিজেম, 24 বাইট

"LwOtmiaKoezs"W):W>5%]S*

যদি পাঁচবার চালানো হয় তবে এটি মুদ্রণ করে লিজটি আমার কাছে ঠিক ছিল । বিরাম চিহ্ন অন্তর্ভুক্ত করা হয়নি, দুঃখিত।

কিভাবে এটা কাজ করে

"LwOtmiaKoezs"  " Push that string. ";
W):W            " Push W (initially -1), increment and save the result in W. ";
>               " Shift that many characters from the string. ";
5%              " Select every fifth character, starting with the first. ";
]S*             " Wrap the stack in an array and join its strings using spaces. ";

দুর্দান্ত ধারণা, যদিও এই শব্দগুচ্ছটি ধরণের দুর্বল: পি
অদিতসু

আমি এটি স্বীকার করি, তবে এটি বারবার অক্ষর ছাড়াই, এক্সএক্সএক্সএক্সএক্সএক্সএক্স এক্সএক্স এক্সএক্স এক্সএক্স হতে হয়েছিল । এটিই কেবলমাত্র বাক্য যা আমি কমপক্ষে কিছুটা বোধগম্য হয়ে উঠতে পারি ...
ডেনিস

"সান আমার কাছে ঠিক ছিল" কীভাবে? আপনি "সান" কে অন্য শব্দ বা নামের সাথে প্রতিস্থাপন করতে পারেন।
অদিতসু

এটা আরও ভাল, ধন্যবাদ।
ডেনিস

3

পাইথ , 32

p?kqZ4d@P"It is by a rope."dZ~Z1

বাক্যাংশ: "এটি একটি দড়ি দিয়ে।"

এন্ট্রপি: ৩.৫

কিভাবে এটা কাজ করে:

p মানে নির্দিষ্ট বিভাজক সহ মুদ্রণ।

প্রথম যুক্তি,, ?kqZ4dবিভাজক দেয়। ?kqZ4dমানে k if Z==4 else dkহয় '', যখন dহয়' '.

দ্বিতীয় আর্গুমেন্ট, মুদ্রণের জন্য মানটি Pস্পেসে ( d) বিভক্ত করে ( ) এবং সেই তালিকায় সূচীকরণ ( @) এ তৈরি করা হয় Z

Finally, Z, which is automatically initialized to 0, is incremented by 1 (~Z1).


2
I could not think of a context where this phase would naturally fit in^^
flawr

1
@ ফ্লোয়ার "আমি বল কোথায় থাকি?" "এটি একটি দড়ি দিয়ে।"
ইসাকাক

3

গল্ফস্ক্রিপ্ট, 53

এই এক মজা ছিল।

{'1'-print}:puts;.'You; are; not; a; duck.'';'/\,=\1+

বাক্যাংশ: "আপনি হাঁস নন।" (যা সম্পূর্ণ সত্য; এনট্রপি 3.5110854081804286)

ব্যাখ্যা:

স্ট্যাকটি ''প্রথম "রান" হিসাবে শুরু হবে (যেহেতু কোনও এসটিডিএন সরবরাহ করা হয়নি)। '1'কোডটি কতবার আটকানো হয়েছে তা বোঝাতে এটি এতে যুক্ত হয়।

{'1'-print}:puts;             # Hacky stuff (see below)
.                             # Stack: '' ''
'You; are; not; a; duck.'';'/ # Initialize the array of words
\,                            # Get the length of the string of '1's (0)
                              # Stack: '' [words] 0
=                             # Stack: '' 'You'
\1+                           # Stack: 'You' '1'

এখন দ্বিতীয় রানে কি ঘটে:

{'1'-print}:puts;             # Hacky stuff (see below)
.                             # Stack: 'You' '1' '1'
'You; are; not; a; duck.'';'/ # Initialize the array of words
\,                            # Get the length of the string of '1's (1)
                              # Stack: 'You' '1' [words] 1
=                             # Stack: 'You' '1' ' are'
\1+                           # Stack: 'You' ' are' '11'

ইত্যাদি।

"তবে," আপনি ভাবছেন, "আপনি কীভাবে 1 টি আউটপুট না পেয়ে পাবেন?" আহ, এটাই মজাদার অংশ। গল্ফস্ক্রিপ্ট প্রয়োগগুলি puts(যা প্রোগ্রাম শেষ হওয়ার পরে বলা হয়) এর মতো:

{print n print}:puts;

আমি কেবল এটিকে পরিবর্তন করেছি

{'1'-print}:puts;

যাতে 1চূড়ান্ত আউটপুট থেকে গুলি দমন করা হয়।


3

জে - 42 চর

আমি একটি ছোট বাক্যাংশ জন্য যেতে পারে, কিন্তু কেন? এটা আমার প্রিয় হবে না।

(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '

এটি জে এর মোনাড / ডায়াড দ্বৈততার কারণে কাজ করে: প্রতিটি ক্রিয়াটি একটি ডানদিকে একটি যুক্তিযুক্ত - একটি ডানদিকে একটি ডায়াড বা একটি ডায়াড হিসাবে - একটি ডানদিকে এবং অন্যটি ডানদিকে একটি মোনাড হিসাবে ডাকা যেতে পারে।

জে রিপিএল সহ নিম্নলিখিত অধিবেশনটি বিবেচনা করুন:

   'You multiplied 6 by 9. '
You multiplied 6 by 9.
   'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '
You multiplied 6 by 9. You multiplied 6 by 9.
   ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '   NB. break into words
+---+----------+-+--+--+---+----------+-+--+--+
|You|multiplied|6|by|9.|You|multiplied|6|by|9.|
+---+----------+-+--+--+---+----------+-+--+--+
   (#\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '             NB. count off
1 2 3 4 5 6 7 8 9 10
   (6 | #\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '         NB. mod 6
1 2 3 4 5 0 1 2 3 4
   (1 = 6 | #\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '
1 0 0 0 0 0 1 0 0 0
   (#~ 1 = 6 | #\) ;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. '  NB. select
+---+----------+
|You|multiplied|
+---+----------+
   (#~ 1 = 6 | #\)&.;: 'You multiplied 6 by 9. ' , 'You multiplied 6 by 9. ' NB. undo ;:
You multiplied

সেখানে ,একটি ডায়াড হিসাবে বিবেচনা করা হয়, কারণ এটি দুটি যুক্তির মধ্যে রয়েছে এবং (#~1=6|#\)&.;:এটি একটি মোনাদ কারণ এটির কোনও বাম যুক্তি নেই। সুতরাং আমাদের যদি এমন একটি ক্রিয়া থাকে যা ,ডায়াডিক এবং এর মতো কাজ করতে পারে(#~1=6|#\)&.;: করতে পারে তবে আমরা সেট হয়ে যাব।

আপনি ইতিমধ্যে অনুমান করতে পারেন, যেমন একটি সংমিশ্রণ বিদ্যমান এবং এটি দেখতে মনে হচ্ছে :। মোনাডিক f :gসমান fএবং এটি সমানg when dyadic. This solves the problem.

উদাহরণ, যা আপনি নিজের জন্য চেষ্টা করতে পারেন tryj.tk এ :

   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied 6
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied 6 by
   (#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '(#~1=6|#\)&.;: :,'You multiplied 6 by 9. '
You multiplied 6 by 9.

এবং হ্যাঁ, বিপরীতের প্রকৃতি ;:এটিকে এমন করে তোলে যাতে কোনও পিছনে স্থান নেই।

Using It is by a rope. as the phrase gives 35 char: (#~1=6|#\)&.;: :,'It is by a rope.'. We don't need the trailing space like we do for my sentence, for arcane, ;:-based reasons.


3

BBC Basic, 40

Includes one newline. Would be 30 if the keywords could be considered as tokenised instead of ASCII.

I caught my girlfriend sleeping with the milkman, so I dumped her and I am sleeping with her sister out of revenge. As my ex do I! (five two-letter "words" with unique characters) wasn't enough entropy, so I added the tongue-out smiley at the end to make the entropy exactly 3.5. After all, in reality I have a fairly normal life, not some weird soap opera plot.

  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P

Repeating the program 5 times we get

  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P
  READa$:PRINTa$;" ";
  DATAAs,my,ex,do,I:-P

Only the 5 READ statements are executed, and the first 5 items of data are read from the first DATA statement. the rest of the data is redundant. Output:

  (once)
  As 
  (5 times)
  As my ex do I:-P 

2

Ruby, 50

puts'The fat pig can fly.'[0..File.size($0)/12-1]#

This uses its own length to determine how many of the words to print. Its repeats are otherwise ignored by ending in the comment character, #. Phrase borrowed from bitpwner: it's very convenient having a short phrase with the same number of letters in each word.

Since each word+ending is 4 characters, the formula would be, e.g. for 56-length program: (File.size($0)/56)*4 - 1, but I can divide ahead of time, 56/4 = 14, so File.size($0)/14 - 1, saving a few characters. 50 isn't a multiple of 4, but 12 is close enough for the range needed.


2

Chip, 165+3 = 168 bytes

+3 for flag -w

| ,z `Z`Z  `Z
| |ZZZ>Z>ZZZ>ZZZZ
>((((((((((((((((
|)-)))-)-)))-))))g
|)d)xx-x-)xx-))x)e
||b+))-x-x))-x)xc
|`v))xa(-x(x-((^d
|*`.))d| b | b
|Z~<b( |~Zf|
>~T| | |   |

"I won a red suit" (3.5) (I actually haven't won any such thing) (...yet)

Note the trailing newline, so the concatenated copy appears below the existing code.

Try it online! (the original)
Try it online! (the original, plus all four copies)

This is a bit of a tangled mess. It turned out that the trickiest bit was the termination condition. (My first iteration printed the word(s), followed by an endless stream of null bytes...).

How it works

First the phrase:
12 unique characters + 4 spaces = exactly 3.5 entropies.

And the code:
Each copy prints the first word, then tells the copy below to print the next word. If there is only one instance, there is no second copy, so nothing except the first word is printed.

If there are two copies, both will print the first word simultaneously (the bytes are OR'd together so it's fine), then only the second copy will print the second word.

If all five copies are present, all will print the first word, etc, etc, and the fifth copy will print the last word by itself.

The termination circuit will terminate the program as soon as all copies are not actively printing.



1

Perl, 37

print qw(My IQ is not me!)[$i++].' ';

Similar to what comperendinous had, but taking advantage of perl's qw to save a few more characters.


1

Rebmu message length + 27

Were we to go with "My IQ is not me!" that would be 43. But I support this message:

uV?'s[S[{The}{rebellion}{against}{software}{complexity.}]]proTKsPROsp

Equivalent Rebol/Red:

unless value? 's [
    s: [{The}{rebellion}{against}{software}{complexity.}]
]

print/only take s
print/only space

Rebol has 3 basic conditionals: IF, EITHER, and UNLESS. UNLESS is equivalent to IF NOT but can be more clear: "Always do the following UNLESS this condition happens to be true."

In this case the condition is that we test is to see if the symbol S has been given a value in the current context. We have to use a quote on it, because attempting to use an unquoted S in a conditional expression would evaluate it and possibly raise an error. (value? doesn't quote its parameter by default because you might want to have which symbol you are checking be in a variable, e.g. sym: 's then if value? sym [...] would actually check if S was defined, not SYM)

Only the first paste of the program will assign the series of strings to S. Successive pastes will take a string from the head of the series and pass it to PRINT/ONLY which will print its argument without adding a line feed.

(Note: PRINT/ONLY is a suggested replacement way of saying PRIN, which is being considered in Rebol 3 and Red; a print replacement is now being tested in Rebmu.)


1

AHK, 44 bytes

i++
Send % SubStr("He is an OK ex",i*3-2,3)

Note the newline at the end. The only clever thing here is that the string is all 3-letter words so we don't have to split anything. Instead, we just pull a substring based on i. Output is to the active screen as if it was typed on the keyboard.


0

Javascript (53)

I took the text from aditsu as I'm not doing anything fancy with the text, so that the words chosen are somewhat irrelevant for the solution (except for byte count).

var i=i|0;alert("He 0is 0but 0a 0dog".split(0)[i++]);

Does alert count in this case? Edit: Reading the rules it probably doesn't as I'm not joining the strings with spaces. I'll add spaces to make it fair.

Also note that the expensive var is actually relevant in this case.


Can anyone explain why var i|=0; does NOT work here???
flawr

@flawr You can't do |= or similar with var. Without var, you get a ReferenceError: i is not defined. var i=i|0 expands to var i=undefined|0, and undefined|0 is apparently 0.
nyuszika7h

This works because of hoisting. var i=i|0 is equivalent to var i;i=i|0. That's why you don't get the reference error. The reason it will be set to 0 the first time is what @nyuszika7h said.
Ingo Bürk

1
But this will alert the words separately.
proud haskeller

0

Perl, 43 56

print substr'Mine was not Red 5!',4*$i++,4;

I accept that I can't win this one. My original attempt explains why:

@a=('This',' code',' is',' too',' long.');print$a[$i++];

0

Lua, 77

A pretty simple solution:

i=(i or 0)+1;io.write((i==1 and""or" ")..("Thebigfoxwasup."):sub(3*i-2,3*i))

(H(X)=4.23)


0

Javascript, 138

g=this;clearTimeout(g.t);g.i|=0;i++;g.t=setTimeout(
    function(){console.log(["I'll","sleep","when","I'm","dead."].slice(0,i).join(' '))},0);

(the additional newline is added for readability only)

Prints I'll sleep when I'm dead. Uses a timer to make sure the output is only printed once


0

Pure Bash, 51 bytes

a=(All you need is Love!)
printf "${i:+ }${a[i++]}"

H(X) = 3.59447

This could be golfed down a bit more by poaching one of the shorter phrases, but I'm happy to stick with Descartes' Lennon's most famous quote. (Sorry @Descartes, but all words need to be unique).

Output:

$ ./phrase.sh 
All$ cat phrase.sh phrase.sh phrase.sh > phrase3.sh
$ chmod +x phrase3.sh 
$ ./phrase3.sh 
All you need$ 
$ cat phrase.sh phrase.sh phrase.sh phrase.sh phrase.sh > phrase.sh
$ chmod +x phrase5.sh 
$ ./phrase5.sh 
All you need is Love!$ 

Takes care to insert spaces between words, but no leading or trailing spaces.

Relies on the fact that in bash, undefined variables, when expanded as strings have the value "", but when expanded arithmetically have the value 0.


The 5 words are required to be unique...
trichoplax

Since your code seems versatile enough to deal with any 5 word phrase, I'm sure you can think of one that has the required entropy of 3.5 (too many double letters in this one...).
trichoplax

@githubphagocyte I was hoping you'd give me the benifit of rounding ;-) Ok, I've fixed it with an extra ! now - seems to do the trick.
Digital Trauma

0

PHP 89 78 char

Its a little verbose, and most definitely won't win, but it was fun anyway. Here's what I came up with

Phrase:

code golf is pretty fun

Entropy = 3.82791

Code:

<?
$i=(isset($i)?$i+1:0);
$w=["code","golf","is","really","fun"];
echo $w[$i].";

Golfed:

<?$i=(isset($i)?$i+1:0);$w=["code","golf","is","really","fun"];echo $w[$i].

0

Python3 - 122 bytes

Open the pod bay doors [HAL]

I guess I'll earn some nerd cred with this one. If only the question would allow one more word...

What my program does is takes the filename (p.py is the base) and checks how many times the base name is iterated. It then takes slices from a string n times. n being the number of ps in the filename.

import sys,re
for i in range(len(re.findall(re.compile('p'),sys.argv[0]))):print('Otpbdphoaoeedyon   r    s'[i::5],end='')

~ $ python p.py
Open

~ $ python pp.py
Open the

~ $ python ppp.py
Open the pod

~ $ python pppp.py
Open the pod bay

~ $ python ppppp.py
Open the pod bay doors

The benefit of the regex is that the program can be called whatever you like and it will still work (providing you change the basename in the code): my original program was called golfed.py.


0

05AB1E, 21 bytes (Noncompeting)

“€Œ‰‹€‡Øš‹É.“ª#¾è¼?ð?

Try it online!

Uses:

This works for literally anything. 
H(x) = 4.02086

Explanation

“€Œ‰‹€‡Øš‹É.“ª#¾è¼?ð?
“€Œ‰‹€‡Øš‹É.“ª        # Pushes "This works for literally anything."
              #       # Split on spaces
               ¾è     # get element at index of counter_variable (default 0)
                 ¼    # Increment the counter_variable
                  ?   # Print the selected element
                   ð? # Prints a space

Didn't see this, posted near the same with “€í€Ü€…‚¿‹·“ hehe
Magic Octopus Urn


0

SmileBASIC, 54 bytes

DATA"Does"," anybody"," have"," a"," key?
READ W$?W$;

I would've prefered "The sand can be eaten." but that fails the entropy test somehow. Of course I could've picked a shorter phrase but that's boring.

The READ keyword reads a value from DATA and stores it in a variable. Using READ again will get the next item, and so on.


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.