ওহে বিশ্ব! কোন পুনরাবৃত্তি সঙ্গে


27

এই প্রশ্ন জিজ্ঞাসা করার আগে বিদ্যমান যে কোনও প্রোগ্রামিং ভাষায়, এমন একটি প্রোগ্রাম লিখুন (কোনও ফাংশন নয়) যা Hello world!একটি নতুন লাইন অনুসরণ করে অক্ষরকে আউটপুট করে । আপনার প্রোগ্রাম:

  • কোনও অক্ষর একাধিকবার ব্যবহার করা উচিত নয় (হোয়াইটস্পেস সহ)
  • কেবলমাত্র ASCII অক্ষর ব্যবহার করা উচিত
  • কোনও অন্তর্নির্মিত গ্রন্থাগার ব্যবহার করা উচিত নয়
  • ইনপুট (ব্যবহারকারী, ফাইল, ফাইলের নাম, সিস্টেম ভেরিয়েবল, ইন্টারনেট, কিছু) পাওয়া উচিত নয়
  • অন্য কিছু আউটপুট করা উচিত নয়

বিজয়ী হলেন যার 14 দিনের পরে সর্বাধিক ভোট রয়েছে এবং ছয়টি নিয়ম মেনে চলেন।

ষষ্ঠ নিয়মটি হল আপনি এইচ 9 +, এইচকিউ 9 +, এইচকিউ 9 + বি, এইচকিউ 9 ++, এইচকিউ 9 + 2 ডি, হ্যালো, হ্যালো +, হ্যালো ++, হেক্সিশ, চিআইকিআরএসএক্স 9 + বা ফিউগু ব্যবহার করতে পারবেন না। এছাড়াও, এই চ্যালেঞ্জের চেয়ে নতুন যে বাস্তবায়নগুলির প্রয়োজন সে সমস্ত উত্তরকে অবশ্যই প্রতিদ্বন্দ্বী হিসাবে চিহ্নিত করতে হবে।


দাবি অস্বীকার: এই প্রশ্নটি এই ধারণা নিয়ে পোস্ট করা হয়েছিল যে হ্যালো ওয়ার্ল্ড! সীমিত পুনরাবৃত্তির সাথে উত্তরগুলি উপস্থিত হওয়ার প্রক্রিয়াতে আপনার কম্পিউটার বা আপনার মস্তিষ্কের কোনও ক্ষতি হয়নি।


যদি আমরা চরিত্রের কোডগুলি এড়িয়ে চলে যাই তবে "\" অক্ষরটি কি একাধিকবার ব্যবহার করা যেতে পারে?
ওয়েলওয়েস্ট


@ ভিক্টর "কেবলমাত্র ASCII অক্ষর ব্যবহার করা উচিত"
টিমটেক

3
এটি একটি দুর্দান্ত ধাঁধা ছিল এবং আমি এটিটি উপভোগ করেছি :-)।
কনরাড বোরোস্কি

9
"কেবলমাত্র ASCII অক্ষর ব্যবহার করা উচিত" - এটি একটি কঠোর বিধিনিষেধ। এটি ASCII ব্যবহার না করে এমন একটি সম্পূর্ণ শ্রেণীর ভাষা সরিয়ে দেয়।
টিমউই

উত্তর:


33

পার্ল 6 (29 ২৮ টি অক্ষর)

এটি কিছুটা বিরক্তিকর ছিল, তবে শেষ পর্যন্ত আমি এই কাজের জন্য একটি প্রোগ্রাম তৈরি করতে সক্ষম হয়েছি। এই কাজটি সম্পর্কে আমাকে সহায়তার জন্য ধন্যবাদ, মহান # পার্ল6 সম্প্রদায়ের কাছে যান । আমাকে দুই ঘন্টা সময় লাগল, আশা করি আপনি উপভোগ করবেন। একটি আউটপুট সম্পূর্ণরূপে একটি নিউলাইন সহ স্পেসিফিকেশন পর্যন্ত।

say
Q[@A`DO world!]~|<HeLhg>

চারটি টোকেনের আগ্রহ রয়েছে।

  • say

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

  • Q[@A`DO world!]

    এটি প্রথম স্ট্রিং। Q[]কাঁচা স্ট্রিংগুলির জন্য ( r""পাইথনের মতো ) এক্ষেত্রে এটি যে কোনও ডিলিমিটার (বা তাদের জোড়া) নিতে পারে []। এই ক্ষেত্রে, আমি এটি উদ্ধৃতিগুলির জন্য ব্যবহার করি, আমার কাঁচা স্ট্রিং আচরণের প্রয়োজন নেই।

  • ~|

    এটি স্ট্রিংওয়াইজ ( ~) বিটওয়াইজ বা ( |) অপারেটর।

  • <HeLhg>

    <>তালিকাগুলি হল তালিকাগুলি, যা স্থানগুলির সাথে পৃথককৃত উপাদানগুলির তালিকা গ্রহণ করে। এই ক্ষেত্রে এটির একটি উপাদান রয়েছে এবং এটি স্কেলার হিসাবে ব্যবহৃত এটি স্ট্রিং দেয়।


3
অ্যামেজিং! আমার শেখা দরকার। কিছু পার্ল 6 সিনট্যাক্স! আমি আপনার মন্তব্যের সাথেও একমত, অবশ্যই মজাদার সমস্যা ছিল!
ডম হেস্টিংস

4
ওহো ... আমার মন
ফুঁকছে

12

পার্ল 5 সঙ্গে -M5.010, 29 বাইট

say+He.v108
x2,q(O world!)^$"

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

আমি প্রথম চেষ্টা করার পর থেকে আমি প্রচুর জ্ঞান অর্জন করেছি। এখনও অন্য উত্তরগুলির মতো সংক্ষিপ্ত নয়, তবে আমি সেরাটি দিয়ে আসতে পারি!


চ্যালেঞ্জের কেস কম রয়েছে w
janrjan জোহানসেন

@ আরজান জোহানসেন ধন্যবাদ, আমি ভুলে গেছি!
ডম হেস্টিংস

11

পার্ল 5.10+: 24 টি অক্ষর

say+He,YZX^q(567 world!)

ঠিক আছে, আমি মনে করি এটি পার্লের মতোই সংক্ষিপ্ত।

পার্ল ৫.১০+ বৈশিষ্ট্য সক্ষম করতে perl -M5.010(বা কেবল perl -E) সাথে চালান say


মারাত্মকভাবে মুগ্ধ! আমি যুগে যুগে ঘুরে দাঁড়ানোর চেষ্টা করেছি ll...
ডম হেস্টিংস

9

গল্ফস্ক্রিপ্ট 42 33

আমি পাশাপাশি গল্ফও করতে পারি, এটি বিবেচনা করে আমাকে একই কোডে কিছু কোড এবং সমস্ত ডেটা দুটি ফিট করার উপায় ছিল না, আমার মনে হয় এটি একটি খুব ছোট ফলাফল। আমার প্রথম জমা দেওয়ার মতো নয় ব্লক কোডটি এখন ডেটাগুলির সম্পূর্ণ সংহত অংশ, সুতরাং {1কেবল ব্লকটি শুরু 1করে স্ট্যাকের উপরে রাখবে না, এটি ডেটাও যা সংজ্ঞায়িত করে Hএবং আরও তাই। অ্যারে ক্রিয়াকলাপে এখন খালি ইনপুট স্ট্রিং অন্তর্ভুক্ত রয়েছে যার অর্থ খালি স্ট্রিং এবং এর মধ্যে কেবল একটি অক্ষর আছে বলেই আমাকে শুরুর ক্রপ করতে হবে না H, আমি যখন প্রতিটি দ্বিতীয় অক্ষর গ্রহণ করি তখন সেই চরিত্রটি কেটে দেওয়া হয়, এবং খালি স্ট্রিং অবশেষে কিছুই হিসাবে আউটপুট।

{1wZ$Qei^Ak 3h-)ulmsogr7}.`*]2%n+

অনলাইন ডেমো: http://golfscript.apphb.com/?c=ezF3WiRRZWleQWsgM2gtKXVsbXNvZ3I3fS5gKl0yJW4r

[{1$^(r iFNGDJUHv98oIMgtplbh4m}.`\*]6>2%n+

একটি কোড ব্লক সংজ্ঞায়িত করে। কোড ব্লকের একটি অনুলিপি তৈরি করে স্ট্রিংয়ে রূপান্তর করে। স্ট্রিংটি পুনরাবৃত্তি করতে কোড ব্লক ব্যবহার করে। প্রতিটি পুনরাবৃত্তির জন্য কোডটি পূর্বের চর মানটির একটি অনুলিপি তৈরি করবে, এটি বর্তমান চর মানের সাথে জোড় করে, এবং বিয়োগ করবে। ফলস্বরূপ স্ট্রিংটির পরে প্রথম 6 টি অক্ষর সরানো হবে এবং প্রতিটি দ্বিতীয় অক্ষর মুছে ফেলা হবে। শেষ পর্যন্ত একটি লাইন ফিড যুক্ত করা হয়।

"r iFNGDJUHv98oIMgtplbh4m" মাত্র দুটি অঘোষিত ভেরিয়েবল, এগুলি কিছুই করে না, তবে কাঙ্ক্ষিত ফলাফল তৈরি করার জন্য সেগুলি সাবধানে নির্মিত are

অনলাইন ডেমো: http://golfscript.apphb.com/?c=W3sxJF4ociBpRk5HREpVSHY5OG9JTWd0cGxiaDRtfS5gXCpdNj4yJW4r



6

বেফুঞ্জ -98 , 34 31 বাইট

f"v!dlrow
+c<>a,kb@#*98e':g05-3

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

সদৃশ অক্ষরগুলি এড়ানোর জন্য বেশ কয়েকটি ভিন্ন পদ্ধতি ব্যবহার করে।

প্রথমত, দুটি "টি ব্যবহার না করার জন্য আমরা মোড়ক স্ট্রিংকে আক্ষরিক ব্যবহার করি । এটি যুক্ত করে "বিশ্ব!" স্ট্যাকের কাছে

দ্বিতীয় লাইনে বাম দিকে যেতে, আমরা "হ্যালো" fতৈরি করতে অতিরিক্ত 9 টি যুক্ত করি o। আমরা gঘর 5,0 ( l) থেকে অক্ষরটি এট করব এবং তারপরে এটি সদৃশ করব। 'চিঠি আনতে ব্যবহার করা হয় e। 72 পেতে 9 কে 8 দিয়ে গুণ করুন, এর ASCII মান H। তারপরে আমরা এটি ব্যবহার করে সবকিছু মুদ্রণ করি ck,এবং নিউলাইন ( ) মুদ্রণ >করতে পুনরায় ব্যবহার করার ,জন্য দিকটি সরিয়ে ফেলি a


খুব ভাল তবে এই চ্যালেঞ্জটি কমা ছাড়াই।
janrjan জোহানসেন

ওহ হ্যাঁ, এটি আরও সহজ করে দিয়েছে ... ধন্যবাদ @ janrjanJohansen
জো কিং

আপনার দুটি +এবং আছে d
janর্জন জোহানসেন

@ JanrjanJohansen ওফ! এখনই স্থির করা উচিত
জো কিং

3

এলিক্সির , 37 বাইট

IO.puts~c(He#{[?n-2,108]}\x6f world!)

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

আমি এই গ্যারান্টি দিতে পারি না যে এই চ্যালেঞ্জটি পোস্ট হওয়ার পরে এটি 2014 সালে ফিরে এসেছিল এবং এলিক্সির এখনও প্রাক -১.০ ছিল (এবং এভাবে, এটি আনুষ্ঠানিকভাবে "প্রতিযোগিতামূলক" কিনা, তবে তাদের প্রকাশের নোটগুলি দেখে, আমি মনে করি এটি হওয়া উচিত ঠিক আছে). যাইহোক, আমি খুশি যে অবশেষে আমি পার্ল ব্যতীত প্রচলিত সাধারণ উদ্দেশ্যে ভাষা ব্যবহার করে এই কাজের একটি কার্যকর সমাধান খুঁজে পেয়েছি!

walkthrough

IO.puts     #Print with trailing newline
~c(...)     #Sigil: charlist with interpolation
He          #Start of literal string...
#{...}      #Interpolated block
[?n-2,108]  #A list of codepoints for 2 'l's
\x6f        #Hex code for 'o'
world!      #...and done!

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