তৃতীয় বার কবজ


49

আপনার কাজটি যদি আপনি এটি গ্রহণ করতে চান তবে একটি প্রোগ্রাম লিখুন যা ইতিবাচক পূর্ণসংখ্যার (0 এর চেয়ে বেশি) ফলাফল দেয়। যদি উত্স কোডটি সদৃশ হয় তবে আউটপুট অবশ্যই একই থাকবে। জটিল অংশটি হ'ল যদি সোর্স কোডটি তিনবার টাইপ করা হয় (ট্রিপলিকেটেড?) আউটপুটটি 3 দ্বারা গুণিত হবে।

বিধি

  • আপনার অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম তৈরি করা উচিত । অর্থাৎ আপনার আউটপুটটি STDOUT এ মুদ্রণ করতে হবে।

  • প্রাথমিক উত্সটি কমপক্ষে 1 বাইট দীর্ঘ হতে হবে।

  • উভয় পূর্ণসংখ্যার বেস 10 হতে হবে (অন্য কোনও বেসে বা বৈজ্ঞানিক স্বরলিপি সহ তাদের আউটপুট নিষিদ্ধ)।

  • আপনার প্রোগ্রাম অবশ্যই ইনপুট গ্রহণ করবেন না (বা একটি অব্যক্ত, খালি ইনপুট থাকতে হবে)।

  • অগ্রবর্তী / অগ্রণী স্থানগুলির সাথে পূর্ণসংখ্যার আউটপুটিং অনুমোদিত।

  • শীর্ষস্থানীয় শূন্যগুলি কেবল তখনই সংখ্যার সংখ্যাগুলির সাথে সঙ্গতিপূর্ণ হয় যেমন: 001 - 001 - 003 বা 004 - 004 - 012

  • আপনি আপনার উত্সের অনুলিপিগুলির মধ্যে একটি নতুন লাইন ধরে নাও নিতে পারেন।

  • এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ততম (মূল) কোডটি জয়ী হয়!

  • ডিফল্ট লুফোলস প্রয়োগ হয়।

উদাহরণ

ধরা যাক আপনার উত্স কোডটি Abcএবং এর সম্পর্কিত আউটপুট 4। আমি যদি এর AbcAbcপরিবর্তে লিখি এবং এটি চালিত করি তবে আউটপুটটি অবশ্যই হবে 4। তবে আমি যদি AbcAbcAbcএটি লিখি এবং চালিত করি তবে আউটপুট অবশ্যই হবে 12


মিঃ এক্সকোডারের চ্যালেঞ্জ থেকে নির্লজ্জভাবে চুরি হয়েছে


আমাদের কোডটি তার নিজস্ব উত্স কোডটি পড়ার অনুমতি দেয়?
অ্যাডমবর্কবার্ক

@ অ্যাডমবর্কবার্ক আমি ধরেই নেব, যেহেতু এটি কোয়েন হিসাবে ট্যাগ করা হয়নি
এরিক আউটগল্ফার

@ অ্যাডমবর্কবার্ক হ্যাঁ।
ওয়ার্কওভারফ্লো

9
আমি মনে করি না যে 1 বাইটের বিধিনিষেধটি প্রয়োজনীয় কারণ যেহেতু 3 বার পুনরাবৃত্তি করা এবং কিছুই না বলে পার্থক্য বলা সম্ভব হবে না।
12

1
@ আর 12 "অ্যাবসি" কোনও প্রোগ্রামিং ভাষার প্রোগ্রামের উদাহরণ, বলুন যদি আপনার কোড ( int i=1;print i;) হয় তবে ডুপ্লিকেট কোড ( int i=1;print i;int i=1;print i;) এর কোডটি অবশ্যই মূল কোড হিসাবে একই নম্বর আউটপুট করতে হবে এবং যখন কোডটি ত্রিভুজ করা হয় ( int i=1;print i;int i=1;print i;int i=1;print i;) তখন অবশ্যই এটি প্রদর্শিত হবে সংখ্যাটি 3 দ্বারা গুণিত হয়েছে
ওয়ার্কওভারফ্লো

উত্তর:


21

Wumpus , 6 বাইট

{~)
@O

এটি অনলাইন চেষ্টা করুন!
দ্বিগুণ করে দেখুন!
এটি তিনগুণ চেষ্টা করুন!

প্রিন্ট 1এবং 3

ব্যাখ্যা

ব্রুট ফোর্স অনুসন্ধানের মাধ্যমে আমি একটি টন 6-বাইট সমাধান খুঁজে পেয়েছি, তবে 5 বাইটের জন্য কোনওটিই নয়। এর অর্থ অগত্যা 5 বাইটে কোনও নেই তবে তারা সম্ভবত অদ্ভুত অক্ষর বা কিছু ব্যবহার করবে।

আমি এই সমাধানটি বেছে নিয়েছি কারণ এটি কোনও শীর্ষস্থানীয় জিরো মুদ্রণ করে না (তাদের বেশিরভাগই করে) এবং এতে কিছু আকর্ষণীয় নিয়ন্ত্রণ প্রবাহ রয়েছে। একক প্রোগ্রাম দিয়ে শুরু করা যাক:

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

সুতরাং সম্পাদিত কোডটি হ'ল:

{~)O@

{   Turn the IP left by 60°.
~   Swap two implicit zeros on the stack, does nothing.
)   Increment the top zero to 1.
O   Print it.
@   Terminate the program.

যথেষ্ট সহজ এখন দ্বিগুণ প্রোগ্রাম। যেহেতু প্রথম লাইনটি দ্বিতীয় লাইনের সাথে সংযুক্ত হয়ে যায়, গ্রিডটি প্রস্থ 5 (এবং উচ্চতা 3) পর্যন্ত প্রসারিত হয় যা নিয়ন্ত্রণ প্রবাহকে উল্লেখযোগ্যভাবে পরিবর্তন করে:

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

আইপি ঠিক একবারে সেই লুপটির চারপাশে চলে যায়, তাই সম্পাদিত কোডটি হ'ল:

{~){~)){~O@

{~) As before, we end up with a 1 on top of the stack.
{   Turn left by 60° again.
~   Swap the 1 with the 0 underneath.
))  Increment the zero to 2.
{   Turn left by 60° again.
~   Swap the 2 with the 1 underneath.
O   Print the 1.
@   Terminate the program.

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

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

সুতরাং সম্পাদিত কোডটি হ'ল:

{~){~)){~~)O@

{~){~)){~
    As before. We end up with a 1 on top of the stack and a 2 underneath.
~   Swap the 1 with the 2 underneath.
)   Increment the 2 to a 3.
O   Print the 3.
@   Terminate the program.

1
আমি মনে করি আমি এই ভাষার প্রেমে আছি
উইকিস্টেটর

11

কাস্তে , 5 বাইট

KΣK+1

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

দুবার বারবার!

তিনবার বারবার!

ব্যাখ্যা

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

  • K, যা একটি ধ্রুবক ফাংশন গঠন করে। K a bসমতূল্য a
  • Σ, যা একটি পূর্ণসংখ্যা n নেয় এবং n তম ত্রিভুজাকার সংখ্যা প্রদান করে।
  • +, যা দুটি সংখ্যা যুক্ত করে।
  • 1, যা আক্ষরিক 1।

মূল প্রোগ্রামটি এভাবে ব্যাখ্যা করা হয়:

   K Σ (K+) 1
== Σ 1
== 1

(K+)একটি অর্থহীন ফাংশন যে প্রথম খাদ্যে পরার K

দ্বিগুণ পুনরাবৃত্তি প্রোগ্রামটি এভাবে ব্যাখ্যা করা হয়:

   K Σ (K+1KΣK+) 1
== Σ 1
== 1

প্রথম বন্ধনের মাধ্যমে প্রথম বন্ধনীতে ফাংশনটি আবার খাওয়া হয় K

তিনবার পুনরাবৃত্তি প্রোগ্রামটি এর অর্থ ব্যাখ্যা করা হয়:

   K (Σ (K (+1) (KΣK+) 1)) (KΣK+1)
== Σ (K (+1) (KΣK+) 1)
== Σ ((+1) 1)
== Σ (+1 1)
== Σ 2
== 3

এটি চালাতে সত্যই দীর্ঘ সময় লাগে ...
ওয়েইজুন ঝো

@ ওয়েইজুনঝৌ আপনার যদি Kকোনও প্রোগ্রামে অনেকগুলি উপস্থিতি দেখা যায় তবে প্রকারের অনুক্রমটি খুব ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে হয়ে যায় কারণ তাদের প্রত্যেকে সম্ভাব্যত কোনও সংখ্যক টোকেন "খেতে" পারে এবং অনুবাদক সমস্ত সংমিশ্রণ চেষ্টা করবেন ...
জাগারব

আমি দেখছি, আপনার ব্যাখ্যার জন্য আপনাকে ধন্যবাদ।
ওয়েইজুন চিউ

2
@Zgarb + 1-কেক + 1
workoverflow

10

জেলি , 7 5 বাইট

»‘µ*Ḃ

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

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

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

»‘µ*Ḃ            Main link. No arguments. Implicit argument: x = 0

 ‘               Increment; yield x + 1 = 1.
»                Take the maximum of x and 1. Yields 1.
  µ              Begin a new, monadic chain. Argument: y = 1
    Ḃ            Bit; yield 1 if y is odd, 0 if it is even. Yields 1.
   *             Power; yield y**1 = 1.
»‘µ*Ḃ»‘µ*Ḃ       Main link.

»‘µ*Ḃ            As before.
      ‘          Increment; yield y + 1 = 2.
     »           Take the maximum of 1 and 2. Yields 2.
       µ         Begin a new, monadic chain. Argument: z = 2
         Ḃ       Bit; yield 1 if z is odd, 0 if it is even. Yields 0.
        *        Power; yield z**0 = 1.
»‘µ*Ḃ»‘µ*Ḃ»‘µ*Ḃ  Main link.

»‘µ*Ḃ»‘µ*Ḃ       As before.
           ‘     Increment; yield z + 1 = 3.
          »      Take the maximum of 1 and 3. Yields 3.
            µ    Begin a new, monadic chain. Argument: w = 3
              Ḃ  Bit; yield 1 if w is odd, 0 if it is even. Yields 1.
             *   Power; yield w**1 = 3.


10

কিউবিক্স , 5 বাইট

)<@OP

এটি অনলাইনে ব্যবহার করে দেখুন: একবার , দুবার , তিনবার


ব্যাখ্যা

কিউবিক্স হ'ল স্ট্যাক-ভিত্তিক ভাষা যার নির্দেশাবলী একটি ঘনক্ষেত্রের বাইরের অংশে আবৃত থাকে। গুরুত্বপূর্ণ লক্ষণীয় হ'ল স্ট্যাকটি প্রথমে অসীম শূন্যগুলিতে পূর্ণ হয়, যা আমাদের অপারেটরগুলিকে স্পষ্টভাবে ধাক্কা দেওয়ার পরিবর্তে "পাতলা বায়ু থেকে মানগুলি টানতে" দেয়।

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

একক প্রোগ্রাম

এটি চালান দেখুন!

মূল প্রোগ্রামটি ইউনিট কিউবে ফিট করে। এখানে উন্মুক্ত নেট:

  )
< @ O P
  .

আইপি (নির্দেশ পয়েন্টার) বাম দিকের মুখ ( <পূর্ব দিকে) পূর্ব দিকে শুরু হয়। <অবিলম্বে এটি পশ্চিমে পয়েন্ট, এবং এটা কাছাকাছি গোপন PPএক্সপেনশনেশন, এবং যেহেতু স্ট্যাকের মধ্যে কিছুই নেই, দোভাষী দুটি 0 টি বের করেন এবং 0 0 গণনা করেন যা জাভাস্ক্রিপ্ট অনুসারে 1 হয়। Oতারপরে এই মানটি মুদ্রণ করে এবং @প্রোগ্রামটি শেষ করে।

ডাবল প্রোগ্রাম

এটি চালান দেখুন!

)<@OP)<@OP

10-বাইট প্রোগ্রামটি একটি ইউনিট কিউবে ফিট করার জন্য খুব দীর্ঘ, এবং তাই এটি আকার -2 কিউবে প্রসারিত হয়েছে:

    ) <
    @ O
P ) < @ O P . .
. . . . . . . .
    . .
    . .

আগের মতো, আইপিটি বাম-মুখের উপরের-বামে শুরু হয়। এবার, প্রথম নির্দেশটি হ'ল P, যা আগের মতো 1 টি পুশ করে । এরপরে ), যা শীর্ষ আইটেমকে বাড়ায়, এটি 2 এ পরিণত করে । তারপরে <আইপি ঘুরিয়ে দেয় এবং এটি )আবার আঘাত করে , 2 কে 3 এ রূপান্তর করে ।

আকর্ষণীয় হয়ে উঠেছে এখানে এখানে। Pপ্রথম থেকে দ্বিতীয় আইটেমকে প্রথম আইটেমের শক্তিতে উত্থাপন করে, যা 0 3 = 0 দেয় । তারপরে আইপি ডানদিকের মুখের চারপাশে জড়িয়ে যায় এবং অন্যটিকে .আঘাত করার আগে দুটি নো-অপ্সের মধ্য দিয়ে যায় P। এখানে আমরা কিউবিক্সের আরও কৌতুক দেখতে পাচ্ছি: বাইনারি অপারেটররা (যেমন P) স্ট্যাক থেকে তাদের অপারেশনগুলি সরিয়ে দেয় না। স্ট্যাক এখন যেহেতু [3, 0], আমরা 3 0 = 1 গণনা করি , যা Oআউটপুট করে এবং @প্রোগ্রামটি শেষ করে।

ট্রিপল প্রোগ্রাম

এটি চালান দেখুন!

)<@OP)<@OP)<@OP

ডাবল প্রোগ্রামের মতো ট্রিপলটি একটি আকার -2 কিউবে ফিট করতে পারে:

    ) <
    @ O
P ) < @ O P ) <
@ O P . . . . .
    . .
    . .

: এই প্রোগ্রামটি পূর্ববর্তী হিসাবে একই ভাবে আরম্ভ আউট Ppush কর্মের 1 , )বাড়তি, <পশ্চিমে আইপি পয়েন্ট, )বাড়তি আবার, এবং Pএখন পাহাড় জমে 0 । আইপিটি তারপরে <ডানদিকের মুখের কাছে আবৃত থাকে , যা আইপি ইতিমধ্যে পশ্চিমে নির্দেশিত হওয়ায় কিছুই করে না।

এখানে ডাবল প্রোগ্রামের থেকে একটি পার্থক্য: স্ট্যাকের শীর্ষে 0) বৃদ্ধি করে 1 করে । আবার যখন এর যাদুটি সম্পাদন করে, এবার এটি 3 1 = 3 গণনা করে । ফলাফল এবং সমাপ্তি, এবং আমরা শেষ পর্যন্ত প্রমাণ করি যে তৃতীয়বারটি সত্যই মনোহর।PO@


1
আমি সত্যিই আপনার ব্যাখ্যা উপভোগ করেছি। +1 টি
workoverflow

7

ব্রেন-ফ্লাক , 10 বাইট

<>([]{}())

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

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

ব্যাখ্যা:

#Toggle stacks
<>

#Push
(
    #Stack-height (initially 0) + 
    []

    #The TOS (initially 0) + 
    {}

    #1
    ()
)

আমরা যখন এটি একবার চালাব, এটি (0 + 0 + 1) == 1বিকল্প স্ট্যাকের উপরে রাখবে। দ্বিতীয়বার দৌড়ে, এটি মূল স্ট্যাকের উপরে রাখে। তৃতীয়বার চালানো যাইহোক, এটি মূল্যায়ন করে (1 + 1 + 1) == 3এবং বিকল্প স্ট্যাকের দিকে ধাক্কা দেয় এবং স্পষ্টভাবে মুদ্রণ করে।


7

এসকিউএল, 25 24 23 বাইট

( -1 বাইট একটি ভুল টাইপযুক্ত চরিত্রটি সরিয়ে ফেলা হয়েছে যা সর্বদা মন্তব্য করা হয় এবং কিছু না করে )
( -1 বাইট রজভান সোসোলের প্রস্তাবিত হিসাবে পরিবর্তিত SELECTহয়েছেPRINT )

PRINT 2/*
*2+1--*/-1
--

এটি কীভাবে কাজ করে:
এসকিউএলে, আপনি মন্তব্য ট্যাগগুলি মন্তব্য করতে পারেন, এর মতো:

/*
'Comment'--*/

বনাম

--/*
'Not Comment'--*/

মন্তব্যের সাথে 1 লাইনের কোড বাদ:
প্রথম পুনরাবৃত্তি: SELECT 2-1আউটপুট: 1
দ্বিতীয় পুনরাবৃত্তি: SELECT 2-1*2+1আউটপুট: 1
তৃতীয় পুনরাবৃত্তি: SELECT 2-1*2+1*2+1আউটপুট:3


1
PRINTপরিবর্তে SELECTএকটি অতিরিক্ত বাইট সংরক্ষণ করা হবে।
রাজাওয়ান সোসোল

6

এসওজিএল ভি0.12 , 7 5 4 বাইট

ē»«I

এখানে চেষ্টা করুন!

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

ব্যাখ্যা:

ē»«I
ē     push counter, then increment it.
      First time running this will push 0, then 1, then 2.
             TOS on each: 0  1  2
 »    floor divide by 2   0  0  1
  «   multiply by 2       0  0  2
   I  and increment       1  1  3

আমি লাইন ধরে কিছু করার চেষ্টা করেছি ē1|, তবে স্পষ্টতই বিটওয়াইস বা ... এর জন্য কোনও আদেশ নেই
ETH প্রোডাকশনস

@ এথ প্রডাকশন হ্যাঁ, আমিও এরকম কিছু চেষ্টা করতে চেয়েছিলাম, এবং আমি যে ē:2\+
সেরাটি

5

05 এ বি 1 ই , 6 5 বাইট

.gDÈ+

এটি অনলাইন চেষ্টা করুন! বা এটি দ্বিগুণ চেষ্টা করুন! বা এটি তিনগুণ চেষ্টা করুন!

ব্যাখ্যা

.g     # push length of stack
  D    # duplicate
   È   # check if even
    +  # add

একক: 0 + (0 % 2 == 0) -> 1
ডাবল: 1 + (1 % 2 == 0) -> 1
ট্রিপল:2 + (2 % 2 == 0) -> 3


যে হওয়া উচিত % 2ট্রিপল ব্যাখ্যা কি?
LarsW

@ লার্সডাব্লু: হ্যাঁ সত্যই :)
এমিলিগা

@ এমিগনা আমার মনে হয় "এমনকি কিনা" তা কি আসলেই 2%_ঠিক আছে?
ম্যাজিক অক্টোপাস উরন

2 + (2 % 2 == 0) -> 2তবে 2 + !(2 % 2 == 0) -> 3(আপনার ব্যাখ্যার জন্য)
ম্যাজিক অক্টোপাস উরন

@ ম্যাজিক অ্যাক্টপাস ইউরান হ্যাঁ 2%_সমান È। আপনি ব্যাখ্যাটির অর্থ কী তা নিশ্চিত নন। 2+(2%2==0) = 2+(0==0) = 2+1 = 3। আমি যদি কম্পিউটারগুলি ব্যাখ্যা করে থাকি তবে এটি সম্ভবত আরও পরিষ্কার হত।
এমিলিগা

5

> <> , 9 বাইট

\5 n;
\\1

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

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

আমি ভাগ্য দ্বারা এই ধরণের খুঁজে পেয়েছি, এই দর্শনের সাহায্যে "আপনি যদি মাছের পথটিকে যথেষ্ট পরিমাণে সংশ্লেষিত করেন তবে অবশেষে কিছু কাজ করবে" using আসল এবং দ্বিগুণ সংস্করণগুলি একটি 5 মুদ্রণ করে এবং ত্রিগুণিত সংস্করণটি 1 = 5 টি পরে 15 = 3 × 5 করতে প্রিন্ট করে। আপনার অনুমানের জন্য এখানে গুণিত সংস্করণগুলি রয়েছে:

\5 n;
\\1\5 n;
\\1
\5 n;
\\1\5 n;
\\1\5 n;
\\1

5

পাইথন 2 ,  46 45  39 বাইট

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

print open(__file__,"a").tell()/79*3|1#

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

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

এটি কীভাবে কাজ করে (পুরানো)

k=open(__file__,"a").tell() # Read the source code in "append" mode and get its length.
                            # Assign it to a variable k.
;print k>>(k==90)#          # Print k, with the bits shifted to the right by 1 if k
                            # is equal to 90, or without being shifted at all overwise.
                            # By shifting the bits of a number to the right by 1 (>>1),
                            # we basically halve it.

এটি দ্বিগুণ হয়ে গেলে দৈর্ঘ্য 90 হয় , তবে নতুন কোডটি এটিকে ধন্যবাদ জানানো হয় #, তাই এটিকে k==90মূল্যায়ন করে True। বুলিয়ানগুলি পাইথনের পূর্ণসংখ্যার সাবক্লাস, তাই k>>Trueসমান k>>1, যা মূলত কে / ২ = 45 । যখন এটি তিনগুণ হয়, নতুন কোডটি আবার উপেক্ষা করা হয়, সুতরাং নতুন দৈর্ঘ্য 135 , যা স্থানান্তরিত হয় না কারণ k==90মূল্যায়ণ করে False, তাই k>>(k==90) ⟶ k>>(135==90) ⟶ k>>False ⟶ k>>0 ⟶ k, এবং কে যেমনটি প্রিন্ট করা হয়।


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

এটি 38 বাইটে আইডান এফ পিয়ার্সের একটি পরামর্শ ছিল এবং আমি এটি 2 বাইট দ্বারা গল্ফ করেছি। আমি এটিকে আমার মূল সমাধান হিসাবে পোস্ট করছি না কারণ আমি নিজেই এটি নিয়ে আসিনি।

0and""
True+=1
print True>3and 3or 1

এটি অনলাইন চেষ্টা করুন! দ্বিগুণ করে দেখুন! এটি তিনগুণ চেষ্টা করুন!


একটি মন্তব্য ব্যবহার করার ধারণার জন্য ধন্যবাদ - আমাকে 6 বাইট সংরক্ষণ করে।
অ্যাডমবর্কবার্ক

print open(__file__,"a").tell()/79*3|1#সম্ভবত?
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন দুর্দান্ত, ধন্যবাদ!
মিঃ এক্সকোডার

একটি কম বাইট, কোনও উত্স কোড পঠন নেই: tio.run/##K6gsycjPM/r/… দুই এবং তিনটি পুনরাবৃত্তির জন্য নেতৃস্থানীয় স্পেস সহ প্রিন্ট করে তবে এটি অনুমোদিত বলে মনে হয়।
আইডান এফ পিয়ার্স

@ আইডানএফ.পিয়ার্স আপনাকে অনেক ধন্যবাদ! আমি এটি আরও কিছুটা গল্ফ করেছিলাম এবং বিকল্প সমাধান হিসাবে পোস্ট করেছি।
মিঃ এক্সকোডার

5

আর , 37 31 28 বাইট

চূড়ান্ত 3 বাইট গল্ফ করার জন্য জিউসেপ্পকে ধন্যবাদ to

length(readLines())%/%2*2+1

(একটি পেছনের নিউলাইন সহ)।

একবার চেষ্টা করে দেখুন!

দুবার চেষ্টা করে দেখুন!

তিনবার চেষ্টা করে দেখুন!

এটি 8 বলের চ্যালেঞ্জের জিউসেপের উত্তরreadLines() থেকে কৌশলটি ব্যবহার করে , যেখানে stdinউত্স ফাইলে পুনর্নির্দেশ করা হয়। এই কোডটি মূলত কেবল প্রথম লাইনের নীচে কত লাইন বিদ্যমান এবং 1যদি 1 বা 3 লাইন থাকে (যেমন কোডটি একক বা দ্বিগুণ) থাকে, বা 35 টি লাইন থাকে (অর্থাত্ কোডটি তিনগুণ হয়) তবে তার সংখ্যাটি কেবল গণনা করা হয় ।


ওহ, ঝরঝরে, +1! আরে এটি কীভাবে করবেন তা নিশ্চিত ছিল না I আমি মনে করি sএটির জন্য সঠিকভাবে কাজ করার জন্য আপনাকে একটি নতুন লাইন লাগানো দরকার তবে আপনি কিছু গণনা পুনরায় কাজ করে 28 বাইটে গল্ফ করতে সক্ষম হবেন ।
জিউসেপ্পে

@ জিউস্পে নতুন লাইনের সমস্যাটি দেখানোর জন্য ধন্যবাদ! কোডটি তিনগুণ হলে আমি আপনার সংস্করণটি কাজ করতে সক্ষম হইনি - আমি কি কিছু মিস করছি?
rturnbull

ওহ অদ্ভুত আমার মাস্টার পিছনে একটি নতুন লাইন ছিল, তবে আপনি যদি %/%2এটি করেন তবে এটি কাজ করা উচিত
জিউসেপ্পে

5

হারিয়েছেন , 38 বাইট

\\<<<<</<<<<>
2>((1+@>?!^%^
.........v

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

\\<<<<</<<<<>
2>((1+@>?!^%^
.........v\\<<<<</<<<<>
2>((1+@>?!^%^
.........v

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

\\<<<<</<<<<>
2>((1+@>?!^%^
.........v\\<<<<</<<<<>
2>((1+@>?!^%^
.........v\\<<<<</<<<<>
2>((1+@>?!^%^
.........v

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

ব্যাখ্যা

হারানো এই চ্যালেঞ্জের জন্য একটি খুব আকর্ষণীয় ভাষা। সাধারণ হারানো কৌশলটি একটি "ফাঁদ" তৈরি করা। একটি ফাঁদ প্রোগ্রামের একটি অংশ যা সমস্ত আইপিকে এক জায়গায় ধরার জন্য ডিজাইন করা হয়েছিল যাতে তাদের স্ট্যাকগুলি সাফ হয়ে যায় এবং একটি নির্দিষ্ট দিকে যেতে তাদের নিয়ন্ত্রণ করা যায়। এটি লস্টে লেখার প্রোগ্রামগুলিকে অনেক বেশি পরিচালিত করে তোলে। তবে প্রোগ্রামটি সদৃশ হওয়ার কারণে আমাদের পাশাপাশি ফাঁদগুলির সদৃশতা এড়ানো দরকার। এটির জন্য আমাদের একটি নতুন ট্র্যাপ ডিজাইন করা দরকার যা সঠিকভাবে কাজ করে তবে যখন ডুপ্লিকেট করা যায় তখন কেবল কোনও ফাঁদই কাজ করে। আমার মূল ধারণাটি এখানে নিম্নরূপ

v<<<<>
>%?!^^

স্ট্যাকটি খালি না থাকাকালীন ?কোনও আইটেমটি সরিয়ে ফেলবে এবং যদি সেই আইটেমটি শূন্য না থাকে তবে এটি শুরু করে ফিরে যেতে পারে। এখানে কীটি হ'ল এটি যখন ^^s লাইনটি আপ করে

v<<<<>
>%?!^^v<<<<>
>%?!^^v<<<<>
>%?!^^v<<<<>
>%?!^^v<<<<>
>%?!^^

এর অর্থ হ'ল আপনি যেভাবে প্রবেশ করবেন তা বিবেচনা না করে সর্বদা একই জায়গায় প্রস্থান করবেন।

এখান থেকে আমরা আমার ক্লেইন উত্তর থেকে একই ধারণাটি বাস্তবায়নের চেষ্টা করতে পারি

\\<<<<<v<<<<>
2>((1+@>?!^%^

আমাদের প্রোগ্রামের পিছনের অংশটি বাম পাশে রয়েছে যা বেশ কয়েকটি এসকে ধাক্কা দেয় 2। প্রতিবার আমরা প্রোগ্রামের অনুলিপিটি 2যুক্ত করার পরে প্রোগ্রামের পিছনের অংশে আরেকটি যুক্ত হয় যার অর্থ অতিরিক্ত 2 টি স্ট্যাকের দিকে ঠেলে দেওয়া হয়। এটি নীচে চলে যাওয়ার পরে এটি বাউন্স \\>করে কোডটি কার্যকর করে

((1+@

এটি প্রথম 2 স্ট্যাক আইটেমগুলি সরিয়ে দেয়, যা কিছু বাকী থাকে তার সাথে একটি যোগ করে এবং প্রস্থান করে। আমাদের ব্যাকবোনটিতে একবার 3 2s থাকলে আমরা 1 যুক্ত করব এবং 3 পেয়ে যাব, যদি আমাদের 3 টিরও কম আইটেম থাকে তবে আমরা কেবল পুরো স্ট্যাকটি ফেলে দেব এবং 1 ফিরে আসব।

এখন কেবলমাত্র সমস্যাটি হ'ল !আমাদের প্রোগ্রামটি অসীম লুপ তৈরি করতে পারে। আইপি যদি !উপরের দিকে যেতে শুরু করে তবে তা লাফিয়ে লাফিয়ে উঠবে এবং যেখানেই ছিল সেখানে ফিরে আসবে। এর অর্থ লুপটি রোধ করতে আমাদের নীচে আরেকটি লাইন যুক্ত করতে হবে।

\\<<<<</<<<<>
2>((1+@>?!^%^
.........^

এই আমাদের মধ্যে কিছু স্ল্যাশ নির্বাণ অসম্মান সমস্যা আছে ^ফাঁদে সে। যাইহোক, বরং অলৌকিকভাবে, সমস্ত কিছু কাজ করে। আমাদের আইপিসটি সঠিকভাবে চারপাশে বাউন্স করে যাতে এটি কোনও পার্থক্য না করে।



দুর্ভাগ্যক্রমে আমি আপাতত মোবাইলে আটকে রয়েছি আপনি একটি ব্যাখ্যা সহ উত্তর হিসাবে পোস্ট করতে পারেন?
গম উইজার্ড 21



4

সি (জিসিসি) , 95 91 85 বাইট

#ifndef a
#define a-1
main(){puts(3
#include __FILE__
?"1":"3");}
#define a
#endif
a

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


তারপরে আমি আপনাকে টিআইও লিঙ্কটি সঠিকভাবে সম্পাদন করার পরামর্শ দিচ্ছি
এরিক আউটগল্ফার

আমি মাঝে মাঝে
টিআইওতে

4

জাপট , 8 6 5 বাইট

-1 বাইট @ETH প্রোডাক্টস ধন্যবাদ

°U-v

ব্যাখ্যা:

°U-v
 U     # variable U=0                # U=0
°U     # ++U                         # U=1
  -    # minus:
   v   #   1 if U is divisible by 2  
       #     else
       #   0                         # U=1

এটি মূল্যায়ন করে 1-0 = 1

দ্বিগুণ মূল্যায়ন 2-1 = 1

ত্রিগুণ মূল্যায়ন 3-0 = 3


1
কিছুটা পুনরায় সাজানো, আমি মনে করি আপনি °U-vদ্বিতীয়টি সংরক্ষণ করতে (প্লাস নিউলাইন) করতে পারেন U
ইটিএইচ প্রডাকশনস

@ ইথ প্রডাকশন ধন্যবাদ! vএই চ্যালেঞ্জের জন্য উপযুক্ত :-)
অলিভার


4

1
n;$_=$a++|1;say(15 বাইটস)
nwellnhof

নিঃসন্দেহে! ধন্যবাদ।
টন হসপেল

4

> <> , 10 9 8 বাইট

562gn|

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

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

আমি নিশ্চিত যে কোথাও একটি 8 বাইট সমাধান আছে।

প্রিন্ট করা যায় না এমন শেষে ASCII মান 1 থাকে এবং gএটি তৃতীয় পুনরাবৃত্তির কেবল কমান্ড দ্বারা আনা হয় । প্রথম দুটি এটি প্রিন্ট করে 05এবং তারপরে প্রিন্ট করে 15


8 টি বাইট সমাধানটি অধরা প্রমাণ করছে, তবে তারা আপনাকে আরও অনুপ্রেরণার ক্ষেত্রে আরও 9 জন বাইট রয়েছে: টিআইও , টিআইও
কোনও গাছ নয়

1
@ নোটাত্রি একটি অপ্রিনিতযোগ্য 8 বাইট পেয়েছেন
জো কিং



3

জাভাস্ক্রিপ্ট, 81 77 74 70 বাইট

সংরক্ষণ 4 বাইট ধন্যবাদ রোমশ

var t,i=(i||[3,1,1]),a=i.pop()
clearTimeout(t)
t=setTimeout(alert,9,a)

বেশ লম্বা জেএস সমাধান। [3,1,1]ডান ( pop()) থেকে অ্যারে থেকে মান গ্রহণ করে । ভবিষ্যতে বর্তমান মানটি প্রদর্শনের জন্য একটি সময়সীমা নিবন্ধন করে। যদি একটি টাইমআউট ইতিমধ্যে নিবন্ধিত ছিল, এটি বাতিল করুন। এর নোংরা প্রকৃতির উপর নির্ভর করে var, যা ভেরিয়েবল ঘোষণা ঘোষণা করে।

দুই বার:

তিন বার:


এটি কাজ করার জন্য একটি পেছনের আধা-কোলন বা নিউলাইন দরকার তবে আপনি aতৃতীয় যুক্তি হিসাবে 4 বাইট সংরক্ষণ করতে পারবেন setTimeout:setTimeout(alert,9,a)
শেগি

@ শেগি ধন্যবাদ! এটি কোনও অতিরিক্ত আধা-কোলন ছাড়াই সূক্ষ্ম কাজ করে।
ক্রিশ্চিয়ান লুপাস্কু


2

কাঠকয়লা , 12 বাইট

⎚≔⁺ι¹ιI⁻ι⁼ι²

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি ভার্বোজ কোডের।

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

ব্যাখ্যা

⎚             Clear
 ≔⁺ι¹ι        Assign plus(i, 1) to i
       I      Cast (and implicitly print)
         ⁻ ⁼ι² Subtract equals(i, 2) from
          ι    i

MapAssignRight(Plus, 1, i)আপনাকে একটি বাইট বাঁচায় যা আপনাকে @ মিঃ এর উত্তর আমার পোর্টের সমান দৈর্ঘ্যে নামিয়ে দেয়। এক্সকোডারের চ্যালেঞ্জ:PI∨›³L⊞Oυω³
নীল

PI⊕⊗÷L⊞Oυω³আমার উত্তরের আর একটি সংস্করণ, তবে এখনও 11 বাইট ...
নীল

একটি 10 ​​বাইটার খুঁজে পেয়েছি!
নীল

: / আমার সত্যিই ঠিক করা উচিতMapAssign(Incremented, i)
এএসসিআইআই-কেবল

2

জাভাস্ক্রিপ্ট, 43 40 বাইট

var t=t?--t:~!setTimeout`t=alert(1|~t)`;

2x:

3x:


PS এই সমাধানটি পরিবেশকে ভাঙবে না
l4m2

2

পাওয়ারশেল , 54 48 45 44 বাইট

if(99-gt(gc $PSCOMMANDPATH|wc -c)){1;exit}3#

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

দ্বিগুণ করে দেখুন!

এটি তিনগুণ চেষ্টা করুন!

সঙ্গে নিজস্ব আবাহন পথ পায় $PSCOMMANDPATHএবং সঞ্চালিত get- cফাইলে ontent। Ifএই ফাইলটির অক্ষর গণনা 99( wc -cকোর্টিলগুলি থেকে চেক করা ) এর চেয়ে কম হয় , তারপরে আমরা আউটপুট 1এবং exit(অর্থাত্, কার্যকর করা বন্ধ করি)। এটি মূল কোড এবং দ্বিগুণ কোডের জন্য অ্যাকাউন্টগুলি। অন্যথায় আমরা আউটপুট 3এবং প্রস্থান। দ্বিগুণ বা ত্রিগুণ অংশে থাকা আসল কোডটি অর্থহীন, যেহেতু হয় এটির exitকাছে পৌঁছানোর আগেই আমরা তা করব, অথবা এটির কোনও মন্তব্যের পিছনে #

জনাব Xcoder সংরক্ষণ 6 বাইট ধন্যবাদ
সংরক্ষিত 3 পাভেল 4 বাইট ধন্যবাদ


@ পাভেল আহা, হ্যাঁ আমি কাছাকাছি অদলবদল করার প্রয়োজন -lt99একটি থেকে 99-gtসঠিকভাবে কাজ করার ঢালাই পেতে, কিন্তু যে প্রকৃতপক্ষে এক বাইট খাটো। ধন্যবাদ!
অ্যাডমবর্কবার্ক

2

সি # (178 বাইট)

Console.WriteLine(1+2*4%int.Parse(System.Configuration.ConfigurationManager.AppSettings["z"]=(int.Parse(System.Configuration.ConfigurationManager.AppSettings["z"]??"0"))+1+""));

ক্রেজি সি # সলিউশন, তবে আমি খুশি যে সি # তে এক লাইনেই এটি সম্ভব। :)

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


2

রুনিক এনেক্যান্টমেন্টস , 35 বাইট

^w3'\
    f
    1
/1@
/
 '54\w
/yyy

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

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

চূড়ান্ত লাইনের পিছনে থাকা নতুন লাইন নেই (বা সেই বিষয়টির জন্য, স্থানগুলি পিছনে ফেলেছে) এর কারণে কার্যকারিতা, ডুপ্লিকেট আইপিগুলিকে আলাদা জায়গায় ছড়িয়ে দেওয়া। উপরের বাম দিকের একটি গ্রিডের চারদিকে একটি বৃহত লুপ তৈরির সময় শেষ করে যখন দ্বিতীয় আইপি একটি \সাথে 6th ষ্ঠ লাইনে প্রতিস্থাপনের জন্য একটি প্রতিবিম্ব অপারেশন করে । এই আইপিটি চিরতরে লুপ হয়ে যাবে এবং কিছুই করবে না।

তৃতীয় আইপিও একই সময়ে একই প্রতিস্থাপন করে, তবে এটি ১৩ তম লাইনে অবস্থিত, কারণ এর প্রতিফলকের অনুলিপিটি এটি উপরের দিকে প্রেরণ করে এবং এটি 1f'3wউপরের ডান কোণে উপস্থিত ক্রমটি সম্পাদন করে , যা ১৪ তারিখের 1সাথে প্রতিস্থাপন করে 3লাইন, আসল আইপি এটি কার্যকর করার ঠিক আগে, এর 3পরিবর্তে ত্রিগুণ প্রোগ্রামকে আউটপুট দেয় 1(মানগুলিও হতে পারে 2এবং 6, 3এবং 9, 4এবং 12, 5এবং সংখ্যার ধ্রুবকগুলির 15প্রাপ্যতার কারণে এবং নির্বিচারে নির্বাচিত হয়েছিল)। এরপরে এটি আরও বেশি প্রতিফলন কমান্ড সম্পাদন করে একটি অন্তহীন লুপে রেখে যায় যা কিছুই করে না।a-f13

তিনবার চেষ্টা করে দেখুন!


29 বাইট , যদিও আমি মনে করি যদি আমি এটি আসলে বুঝতে পারি তবে এটি কম পেতে পারি: পি
জো কিং

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

1

পার্ল 5, 28 25 বাইট

-3 বাইট @ নীলকে ধন্যবাদ!

print"\e[D$a"if(++$a!=2);

কার্সারটিকে পিছনের দিকে সরানো হয় (লাইন শুরুর পরে কিছুই হয় না) এবং $aপ্রথম এবং তৃতীয় বারের (যেমন তৃতীয়বার যখন 1 টি মুদ্রণ করা হয়, কার্সারটি সরানো হয় এবং 1 এর অবস্থানের উপরে একটি 3 মুদ্রিত হয়) মুদ্রণ করে।


1
print"\e[D$a"if(++$a!=2);সম্ভবত?
নীল

1

কিউবাসিক, 19 বাইট

CLS
x=2^x
?x-1OR 1

উত্সটিতে একটি চলন্ত নিউলাইন অন্তর্ভুক্ত করা উচিত।

ব্যাখ্যা

আমরা আউটপুট চান 1, 1, 3। লক্ষ্য করুন যে এই সংখ্যাগুলি 2 এর পাওয়ার চেয়ে কম। সুতরাং:

CLS      ' CLear Screen of any output from previous copies of the code

x        ' Numeric variables are preset to 0...
 =2^x    ' so as this statement is repeated, the value of x goes 1, 2, 4

 x-1     ' Therefore x-1 goes 0, 1, 3...
    OR 1 ' and we bitwise OR it with 1 to change the 0 to 1...
?        ' and print.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.