একাধিক প্রোগ্রাম কুইনকেটনেট!


22

আপনার কাজটি হ'ল তিনটি ভিন্ন ভাষা এ, বি, সি দেওয়া এবং দুটি আলাদা প্রোগ্রাম পি এবং কিউ লিখুন যে:

পি এ ভাষার একটি কুইন, তবে বি বা সি তে কোয়েন নয়;

প্রশ্নটি বি ভাষার একটি কুইন, তবে A বা C তে রুই নয়; এবং

পি এর পরে সংক্ষিপ্ত প্রশ্ন (এর মধ্যে নতুন কোনও অক্ষর যুক্ত করা না করে) ভাষার সিতে একটি কুইন, তবে বি বা এ তে নয় not

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


2
মন্তব্যে বিধি?
অ্যাডিসন ক্রম্প

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

"কুইন নয়" মানে "কিছু করা" বা "কমপক্ষে চালানো" কি?
LegionMammal978

1
যখন একটি সংকলক স্থাপন করা হয় এটি এর উত্স কোড আউটপুট দেয় না। এটি কোনও ত্রুটি চালাতে বা নিক্ষেপ করতে পারে বা সংকলন করতে পারে না বা অন্য কিছু বা কিছুই আউটপুট না দেয় তবে যতক্ষণ না এটি তার উত্স কোডটি আউটপুট দেয় না।
ফারাজ মাসরুর

উত্তর:


11

বিভাজন + সিজেম + গল্ফস্ক্রিপ্ট, 38 36 বাইট

বিদারণ , 6 বাইট

'!+OR"

এটি মার্টিন বাটনার ফিশন কুইনগুলির মধ্যে একটিএটি অনলাইন চেষ্টা করুন!

সিজেম, 30 বাইট

' {"''"@*" "+YX#<
\"0$~"N}0$~

শেষ বাইটটি একটি লাইনফিড। এটি অনলাইন চেষ্টা করুন!

গল্ফস্ক্রিপ্ট, 36 বাইট

'!+OR"' {"''"@*" "+YX#<
\"0$~"N}0$~

শেষ বাইটটি একটি লাইনফিড। এটি অনলাইন চেষ্টা করুন!

প্রতিপাদন

$ wc -c P Q
 6 P
30 Q
36 total
$ cat P Q > P+Q
$ 
$ Fission P 2>&- | diff -qs - P
Files - and P are identical
$ cjam P 2>&- | diff -qs - P
Files - and P differ
$ golfscript P 2>&- | diff -qs - P
Files - and P differ
$ 
$ cjam Q 2>&- | diff -qs - Q
Files - and Q are identical
$ golfscript Q 2>&- | diff -qs - Q
Files - and Q differ
$ Fission Q 2>&- | diff -qs - Q
Files - and Q differ
$ 
$ golfscript P+Q 2>&- | diff -qs - P+Q
Files - and P+Q are identical
$ Fission P+Q 2>&- | diff -qs - P+Q
Files - and P+Q differ
$ cjam P+Q 2>&- | diff -qs - P+Q
Files - and P+Q differ

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

বিদারণ

  • R প্রান্তের চারপাশে মোড়ানো ডানদিকে সরানো একটি পরমাণু তৈরি করে।

  • "টোগলগুলি মুদ্রণ মোডে। পরবর্তী সমস্ত "কিছু মুদ্রিত হয়।

  • '! পরমাণুটিকে '!' এর কোড পয়েন্টে সেট করে।

  • +পরমাণুর ভর বৃদ্ধি করে, এর কোড পয়েন্টে সেট করে "

  • O এমন অক্ষর মুদ্রণ করে যার কোড পয়েন্টটি পরমাণুর ভর এবং এটি পরমাণুকে ধ্বংস করে দেয়।

CJam

'       e# Push a space character.
{       e# Push the following code block:
  "''"  e# Push that string.
  @*    e# Separate its characters by spaces.
  " "+  e# Append one more space.
  YX#   e# Raise 2 to the first power. Pushes 2.
  <     e# Discard all but the first two characters of the string, i.e., "' ".
  \     e# Swap the string "' " with the code block in execution.
  "0$~" e# Push that string.
  N     e# Push a linefeed.
}       e#
0$~     e# Push a copy of the code block and execute it.

GolfScript

'!+OR"' # Push that string.
{       # Push the following code block:
  "''"  # Push that string.
  @*    # Join its characters, separating them by the first string.
  " "+  # Append a space.
  YX    # Undefined token. Does nothing.
  #<    # Comment.
  \     # Swap the string with the code block in execution.
  "0$~" # Push that string.
  N     # Undefined token. Does nothing.
}       #
0$~     # Push a copy of the code block and execute it.

আর একটি ডেনিস পেয়ে গেল!
ফারাজ মাসরুর

8

ব্রেনফাক + গল্ফস্ক্রিপ্ট + সিজোম, 29 -কে স্ব-সংশোধন করা হচ্ছে 27 বাইট

স্ব-পরিমার্জনকারী ব্রেনফাক , 12 বাইট

 {<[<]>[.>]}

নেতৃস্থানীয় স্থান নোট করুন। এটি অনলাইন চেষ্টা করুন!

গল্ফস্ক্রিপ্ট, 15 বাইট

{So"0$~"N]}0$~

শেষ বাইটটি একটি লাইনফিড। এটি অনলাইন চেষ্টা করুন!

সিজেম, 27 বাইট

 {<[<]>[.>]}{So"0$~"N]}0$~

নেতৃস্থানীয় স্থান নোট করুন। শেষ বাইটটি একটি লাইনফিড। এটি অনলাইন চেষ্টা করুন!

প্রতিপাদন

$ wc -c P Q
12 P
15 Q
27 total
$ cat P Q > P+Q
$ 
$ timeout 10 smbf P | diff -sq - P
Files - and P are identical
$ golfscript P | diff -sq - P
Files - and P differ
$ cjam P | diff -sq - P
Files - and P differ
$ 
$ golfscript Q | diff -sq - Q
Files - and Q are identical
$ cjam Q | diff -sq - Q
Files - and Q differ
$ timeout 10 smbf Q | diff -sq - Q
Terminated
$ 
$ cjam P+Q | diff -sq - P+Q
Files - and P+Q are identical
$ golfscript P+Q | diff -sq - P+Q
Files - and P+Q differ
$ timeout 10 smbf P+Q | diff -sq - P+Q
Terminated

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

স্ব-পরিবর্তনকারী ব্রেইনফাক

এসএমবিএফ ডেটা পয়েন্টারটির বাম দিকে তার উত্স কোড দিয়ে শুরু হয়।

<space>        (ignored)
{              (ignored)
<              Move the data pointer left.
[<]            Move the data pointer left to the next null byte.
>              Move the data pointer right.
[.>]           Print and move the data pointer right until null byte.
}              (ignored)

GolfScript

{            # Push the following code block:
  So         # Undefined token. Does nothing.
  "0$~"      # Push that string.
  N          # Undefined token. Does nothing.
  ]          # Wrap the stack in a array. Does not affect output.
}            #
0$~          # Push a copy of the code block and execute it.


### CJam

{<[<]>[.>]} e# Push that code block.
{           e# Push the following code block:
  So        e# Print a space. Since it is printed explicitly,
            e# it will appear at the beginning of the output.
  "0$~"     e# Push that string.
  N         e# Push a linefeed.
  ]         e# Wrap the stack in a array. Does not affect output.
            e# This makes the program an infinite, empty  loop
            e# in SMBF; it would be a quine otherwise.
}           e#
0$~         e# Push a copy of the code block and execute it.

5

টিসিএল, সিজেম, গল্ফস্ক্রিপ্ট, 60 + 26 = 86 112 বাইট

ভাল গল্ফ না।

Tcl , 60 বাইট

{puts} [{join} {{} \{ \}\]} {{puts} [{join} {{} \{ \}\]} }]

এই পৃষ্ঠায় কুইনের উপর ভিত্তি করে । এটির পেছনের নতুন লাইন রয়েছে।

সিজেম, 26 বাইট

{"' '@`+n@0"L~;"0$~"N}0$~

এটির পেছনের নতুন লাইন রয়েছে।

গল্ফস্ক্রিপ্ট, 86 বাইট

{puts} [{join} {{} \{ \}\]} {{puts} [{join} {{} \{ \}\]} }]
{"' '@`+n@0"L~;"0$~"N}0$~

কিভাবে কাজ করে? আমি টিসিএল এর কথা কখনও শুনিনি
ফারাজ মাসরুর

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

3

শেপস্ক্রিপ্ট + সিজাম + গল্ফস্ক্রিপ্ট, 96 95 62 বাইট

শেপস্ক্রিপ্ট , 16 বাইট

'"%r"@%"0?!"'0?!

এটি স্ট্যান্ডার্ড শেপস্ক্রিপ্ট কুইনএটি অনলাইন চেষ্টা করুন!

সিজেম, 46 বাইট

];{"'\"%r\"@%\"0?!\"'0?!];"SS#~(>
\"0$~"N}0$~

শেষ বাইটটি একটি লাইনফিড। এটি অনলাইন চেষ্টা করুন!

গল্ফস্ক্রিপ্ট, 62 বাইট

'"%r"@%"0?!"'0?!];{"'\"%r\"@%\"0?!\"'0?!];"SS#~(>
\"0$~"N}0$~

শেষ বাইটটি একটি লাইনফিড। এটি ওয়েব গল্ফস্ক্রিপ্টে অনলাইনে চেষ্টা করুন ।

প্রতিপাদন

$ wc -c P Q
16 P
46 Q
62 total
$ cat P Q > P+Q
$ 
$ shapescript P 2>&- | diff -qs - P
Files - and P are identical
$ cjam P 2>&- | diff -qs - P
Files - and P differ
$ golfscript P 2>&- | diff -qs - P
Files - and P differ
$ 
$ cjam Q 2>&- | diff -qs - Q
Files - and Q are identical
$ golfscript Q 2>&- | diff -qs - Q
Files - and Q differ
$ shapescript Q 2>&- | diff -qs - Q
Files - and Q differ
$ 
$ golfscript P+Q 2>&- | diff -qs - P+Q
Files - and P+Q are identical
$ shapescript P+Q 2>&- | diff -qs - P+Q
Files - and P+Q differ
$ cjam P+Q 2>&- | diff -qs - P+Q
Files - and P+Q differ

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

ShapeScript

'       Push a string that, when evaluated, does the following.
  "%r"  Push this formatting string. %r gets replaced by a string
        representation of the corresponding argument.
  @     Swap the string that is being evaluated on top of the stack.
  %     Apply formatting to the string on top of the stack.
  "0?!" Push that string.
'
0?!     Push a copy of the previous string and evaluate it.

CJam

];      e# Clear the stack. Stack is already clear. Does nothing.
{       e# Push the following code block:

  "'\"%r\"@%\"0?!\"'0?!];"

  SS#   e# Find the index of " " in " ". Pushes 0.
  ~(    e# Apply logical NOT and decrement. Pushes -2.
  >     e# Discard all but the two rightmost characters from the string,
        e# i.e., reduce it to "];".
  \     e# Swap the string "];" with the code block in execution.
  "0$~" e# Push that string.
  N     e# Push a linefeed.
}       e#
0$~     e# Push a copy of the code block and execute it.

GolfScript

'"%r"@%"0?!"'

0?!     # Find the index of the number 0 in the string and apply logical NOT.
];      # Clear the stack.
{       # Push the following code block:

  "'\"%r\"@%\"0?!\"'0?!];"

  SS    # Undefined token. Does nothing.
  #~(>  # Comment.
  \     # Swap the string with the code block in execution.
  "0$~" # Push that string.
  N     # Undefined token. Does nothing.
}       #
0$~     # Push a copy of the code block and execute it.

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