পিছনে এবং সামনের দিকে বহুভ্রংশ কুইন!


9

আপনাকে অবশ্যই একটি বহুভুজ তৈরি করতে হবে যা এর উত্স কোডটিকে একটি ভাষায় এবং তার উত্স কোডটিকে অন্য ভাষায় পিছিয়ে দেয়। সাধারণ নিয়মের বিপরীতে, আপনার জমা দেওয়ার উত্স কোড পাওয়ার জন্য আপনাকে বর্তমান ফাইলটি পড়তে বা বিল্টিন ব্যবহার করার অনুমতি দেওয়া হয়েছে এবং এটি একটি ভাষায় বিপরীত। আপনার উত্স কোডটি প্যালিনড্রোম হতে পারে না।

উদাহরণস্বরূপ, যদি আপনার উত্স কোড হয় তবে abcxyzএটি অবশ্যই abcxyzএকটি ভাষায় এবং zyxcbaঅন্য ভাষায় আউটপুট । যদি আপনার কোড হয় তবে abcxyzyxbcaএটি অবৈধ কারণ এটি একটি প্যালিনড্রোম।

শুভকামনা!


3
সাধারণ নিয়মগুলি একটি কারণে রয়েছে। কুইন বিল্ট-ইনগুলি মঞ্জুরি দেওয়ার ফলে সম্ভবত এই চ্যালেঞ্জটি আরও বিস্তৃত হবে এবং প্যালিনড্রোম উত্স কোডগুলি দেওয়া উত্তরগুলি উভয় ভাষার জন্য কুইন ফরোয়ার্ডের অনুমতি দেয়।
এরিক আউটগল্ফার

@ এরিকথ আউটগলফার প্যালিনড্রোমগুলি এখন অনুমোদিত নয়।
programmer5000

1
@ এরিকথ আউটগল্ফার আহ, সুতরাং উত্স কোডটি প্যালিনড্রোম হতে পারে না?
লুইস মেন্ডো

2
আমি মনে করি আপনার প্রথম চ্যানেলটিকে কোনও চাইনিসের সাধারণ নিয়ম ভঙ্গ না করে এই চ্যালেঞ্জটি শেষ করার জন্য একটি অনুদানের অফার দেওয়া উচিত। (সম্ভবত 50 রেপ?)
ক্লিমেজিক করুন

1
উভয় ভাষা উত্স কোড পড়ার ক্ষেত্রে আমি স্পষ্টতই এটিকে অস্বীকার করার সাথে সাথে "একটি ভাষায়" পড়েছি, তবে বর্তমান শীর্ষ ভোটের উত্তর ঠিক তা করে। এটি অনুমোদিত হওয়ার অর্থ কি তা পরিষ্কার করার জন্য আপনি সম্পাদনা করতে পারেন?
এইচডিভি

উত্তর:


5

পিএইচপি এবং গল্ফস্ক্রিপ্ট, 2 বাইট

1

অর্থাত্ একটি নতুন লাইন এবং অঙ্ক 1

এই একটি বিপরীত quine হয় GolfScript , এই সাইটে অবদান দ্বারা জাস্টিন । পিএইচপি ট্রিগার করে নি যে এটি একটি প্রোগ্রামিং ভাষা তাই এটি এর ইনপুটটি প্রিন্ট করে।


6

পাইথন 2 / পাইথন 3, 71 বাইট

lambda _='lambda _=%r:(_%%_)[::int(1-(1/2)*4)]':(_%_)[::int(1-(1/2)*4)]

কোনও কাইন বিল্টিন ব্যবহার করে না।

আমাকে সাধারণত জাগ্রত করার জন্য ওভিএসকে ধন্যবাদ।


lambda _='lambda _=%r:(_%%_)[::int(1-(1/2)*4)]':(_%_)[::int(1-(1/2)*4)]71 বাইটের জন্য
ovs

ওভস ওহ, অবশ্যই আমি কীভাবে এটি ভাবিনি।
এরিক আউটগল্ফার

6

ব্যাচ / ব্যাশ + ট্যাক, 39 বাইট

:;tac -r -s '.\|'$'\n' $0;exit
@type %0

আউটপুটগুলি ব্যাচে ফরোয়ার্ড। ব্যাখ্যা: ব্যাচ প্রথম লাইনটিকে একটি লেবেল হিসাবে দেখে এবং এটিকে উপেক্ষা করে, যখন দ্বিতীয় লাইনটি সোজা ফাইলটি STDOUT এ অনুলিপি করে। (নোট করুন যে আপনাকে এক্সটেনশান সহ ফাইলটি চালনা করতে হবে বা এতে পরিবর্তন %0করতে হবে %~f0)) bashচারটি কমান্ড দেখেছে:

  • :কিছুই করে না (হিসাবে একই true)
  • tac -r -s '.\|'$'\n' $0
    • -rtacরেজেক্স মোডে রাখে
    • -s একটি রেজেক্স নির্দিষ্ট করে
    • '.\|'$'\n' রাইজেক্স, গঠিত
      • . নিউলাইন ছাড়া অন্য কোনও চরিত্র
      • \| অথবা
      • $'\n' একটি নতুন লাইন
    • আপশট হ'ল tacফাইলটি লাইনগুলির চেয়ে অক্ষরে বিভক্ত হয়।
  • exit চতুর্থ কমান্ড উপেক্ষা করে স্ক্রিপ্টটি থামায়
  • @type %0 (উপেক্ষিত)

আমি মনে করি আপনি প্রথম লাইনের সাথে এটি প্রতিস্থাপন করতে পারেন :;rev $0|tac;exit। এছাড়াও, শিরোনামটির পরিবর্তে ব্যাচ / sh + ইউজার-লিনাক্স + কোর্টিলগুলি বলা উচিত ।
এরিক আউটগল্ফার

@ এরিকথ আউটগল্ফার $'\n'একটি বাশিজম, rev $0|tacসঠিকভাবে নতুন লাইনের বিপরীত নয় এবং tacপ্যাকেজে আসলে কী আসে যায় তা কি গুরুত্বপূর্ণ ?
নীল

$'\n'আমি প্রস্তাবিত প্রতিস্থাপনে বিদ্যমান নেই এবং rev $0|tacআমার জন্য কাজ করে। এবং আমি মনে করি পৃথক ইউটিলিটিগুলির পরিবর্তে প্যাকেজগুলি নির্দিষ্ট করা ভাল, কারণ কখনও কখনও বিভ্রান্তি দেখা দেয় (যেমন কোন প্যাকেজটির tac?)।
এরিক আউটগল্ফার

অনলাইনে চেষ্টা করুন ভূল. সুতরাং এটি অনলাইন চেষ্টা করে দেখুন! (তবে আরও সূক্ষ্মভাবে)।
নীল

আপনি দয়া করে একটি ব্যাখ্যা দিতে পারেন?
programmer5000

3

পিএইচপি এবং রেটিনা, 2 বাইট

1

গিলের পিএইচপি এবং গল্ফস্ক্রিপ্ট উত্তর হিসাবে একই।

পিএইচপি কেবল কোডটি পড়ে এবং সরাসরি আউটপুট করে, রেটিনা ইনপুটটিতে একটি খালি স্ট্রিংয়ের ম্যাচগুলি প্রতিস্থাপন করবে এবং এটি 1 এবং প্রতিস্থাপনের সাথে একটি নতুন লাইনের সাথে আউটপুট দেবে।


2

জেএস (ইএস 5), জেএস (ইএস 6), 94 বাইট

function f(){try{eval("x=(f+'f()').split``.reverse().join``")}catch(e){x=f+"f()"};return x}f()

কোনও কুইন বিল্ট-ইন ব্যবহার করে না। জেএস ফাংশনগুলি তাদের কোডকে স্ট্রিংফাই করে। সম্ভবত আরও গল্ফ করা যেতে পারে।


1

যদি আপনি উত্স কোডটি পড়ার অনুমতি দেন তবে এটি সত্যিই কোনও কুইন নয়।

পিএইচপি এবং শি + ইউজার-লিনাক্স, 6 বাইট

rev $0

আমি নিশ্চিত যে সাধারণ গল্ফিং ভাষা এটি 2 বাইটে করতে পারে।


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