ঘড়ির চারপাশে কোডিং


47

একটি একক লাইন প্রোগ্রাম দুটি বা ততোধিক অক্ষর দীর্ঘ লিখুন যার কোনও লাইন টার্মিনেটর নেই এবং কোনও ইনপুট নেয় না। উদাহরণস্বরূপ, আপনার প্রোগ্রামটি হতে পারে:

MyProgram

যখন আপনার প্রোগ্রামটি 12, 3, 6, এবং 9 টা বাজে ঘড়ির হাতের আকারে সাজানো হয় তখন তার সাথে সংশ্লিষ্ট ঘন্টা নম্বর আউটপুট করা দরকার। অন্য কোনও সময়কে সমর্থন করার দরকার নেই।

বিশেষ করে:

  • আপনার প্রোগ্রামটি যখন 12 টা বাজে ঘড়ির হাতের মতো সাজানো হয় (🕛)

    m
    a
    r
    g
    o
    r
    P
    y
    M
    

    এটি চলমান আউটপুট করা উচিত 12

  • আপনার প্রোগ্রামটি যখন ঘড়ির কাঁটার মতো সাজানো হয় তখন 3 টা (🕒)

    m
    a
    r
    g
    o
    r
    P
    y
    MyProgram
    

    এটি চলমান আউটপুট করা উচিত 3

  • আপনার প্রোগ্রামটি যখন 6 টা বাজে ঘড়ির হাতের মতো সাজানো হয় (🕕)

    m
    a
    r
    g
    o
    r
    P
    y
    M
    y
    P
    r
    o
    g
    r
    a
    m
    

    এটি চলমান আউটপুট করা উচিত 6

  • আপনার প্রোগ্রামটি যখন 9 টা বাজে ঘড়ির হাতের মতো সাজানো হয় (🕘)

    ........m
    ........a
    ........r
    ........g
    ........o
    ........r
    ........P
    ........y
    margorPyM
    

    এটি চলমান আউটপুট করা উচিত 9

নোট

  • আপনার প্রোগ্রামের প্রথম অক্ষরটি সর্বদা ঘড়ির মাঝখানে স্থাপন করা হয়। (O'clock Mটা বাজে উদাহরণের মধ্যে কীভাবে কেবল একটি রয়েছে তা দ্রষ্টব্য ))

  • যে কোনও একটি অ-নিউলাইন চরিত্রটি 9 টা বাজে সাজানোর জন্য প্রোগ্রামটি ইনডেন্ট করতে ব্যবহৃত হতে পারে। উদাহরণে .ব্যবহার করা হয়, কিন্তু স্থান বা /বা #শুধু বৈধ হিসাবে হবে।

  • 3 টা বাজানোর জন্য, কোনও অক্ষর খালি উপরের ডানদিকে থাকা উচিত নয়। (যেমন এটি খালি রাখুন, শূন্যস্থান দিয়ে এটি পূরণ করবেন না))

  • প্রাথমিক প্রোগ্রাম বিন্যাসে ( MyProgramযেমনটি) কিছু করার দরকার নেই। কেবল 12, 3, 6, এবং 9 টা বাজেটের ব্যবস্থাতে সঠিক, সু-সংজ্ঞায়িত আউটপুট থাকা দরকার।

  • কেবলমাত্র একটি ফাংশন বা REPL কমান্ড হিসাবে কাজ করে এমন কোড অনুমোদিত নয়। চারটি ব্যবস্থার প্রত্যেকটির মতো পুরো প্রোগ্রাম চালানোর জন্য প্রস্তুত থাকা উচিত।

বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রামটি জিতেছে। উদাহরণস্বরূপ MyProgram9 বাইটের দৈর্ঘ্য রয়েছে।


27
কীভাবে এটি করা শুরু করবেন তা সম্পর্কে আমার কোনও ধারণা নেই
নিক হার্টলি

1
কোনও অক্ষর মুদ্রিত এবং তারপরে ব্যাকস্পেস দিয়ে মুছে ফেলা ঠিক আছে কি?
ফেয়ার্সাম

5
একটি একক লাইন এবং প্যাডিং চরিত্র থেকে চারটি কোড উত্পন্ন করার জন্য এখানে একটি সিজেএম স্ক্রিপ্ট রয়েছে : cjam.tryitonline.net/… পোস্টে অন্তর্ভুক্ত নির্দ্বিধায়।
মার্টিন এন্ডার

4
আমি ব্রেইনফাক-এ এই চেষ্টা করছিলাম, কিন্তু বিএফ-এর আগে আমার চ্যালেঞ্জটি আমার মস্তিষ্ককে ফাক করে ফেলেছে।
বিড়াল

2
@ কেট আমি বিশ্বাস করি যে এটি অসম্ভব কারণ প্রোগ্রামগুলি 3এবং ব্রেনফাকের সাথে 6পৃথক হতে পারে কারণ তারা কেবল সাদা জায়গার চেয়ে আলাদা।
মার্টিন এন্ডার

উত্তর:


37

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

21;;3#9];6

#প্যাডিং চরিত্র হিসাবে ব্যবহার করে ।

1 ২টা বাজে

6
;
]
9
#
3
;
;
1
2

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

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

  • 6স্ট্যাকের উপর চাপ দেওয়া হয়, ;এড়িয়ে যায়।

  • ] একটি অ্যারের মধ্যে স্ট্যাক মোড়ানো (আউটপুট প্রভাবিত করে না)।

  • 9এবং 3স্ট্যাকের উপর চাপ দেওয়া হয় ;এবং ;তাদের ফেলে দিন discard

  • অবশেষে, 1এবং 2স্ট্যাক ধাক্কা করা হয়, এবং পরোক্ষভাবে বিচ্ছেদ ছাড়া মুদ্রিত।

3 টা বাজে

6
;
]
9
#
3
;
;
1
21;;3#9];6

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

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

  • 6স্ট্যাকের উপর চাপ দেওয়া হয়, ;এড়িয়ে যায়।

  • ] একটি অ্যারের মধ্যে স্ট্যাক মোড়ানো (আউটপুট প্রভাবিত করে না)।

  • 9এবং 3স্ট্যাকের উপর চাপ দেওয়া হয় ;এবং ;তাদের ফেলে দিন discard

  • 1এবং 21স্ট্যাকের উপর চাপ দেওয়া হয়, ;;এগুলি বাতিল করে দেয়।

  • 3 স্ট্যাকের উপর ধাক্কা দেওয়া হয়।

  • # লাইন শেষ হওয়া পর্যন্ত একটি মন্তব্য শুরু।

6 টা বাজে

6
;
]
9
#
3
;
;
1
2
1
;
;
3
#
9
]
;
6

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

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

  • 6স্ট্যাকের উপর চাপ দেওয়া হয়, ;এড়িয়ে যায়।

  • ] একটি অ্যারের মধ্যে স্ট্যাক মোড়ানো (আউটপুট প্রভাবিত করে না)।

  • 9এবং 3স্ট্যাকের উপর চাপ দেওয়া হয় ;এবং ;তাদের ফেলে দিন discard

  • 1, 2এবং 1স্ট্যাকের উপর চাপ দেওয়া হয়।

  • ;এবং ;সর্বশেষ 1এবং 2

  • 3এবং 9স্ট্যাকের উপর চাপ দেওয়া হয়

  • ]এবং ;স্ট্যাকটি একটি অ্যারেতে মুড়ে রাখুন এবং স্ট্যাকটি সাফ করে এটিকে বাতিল করুন।

  • 6 স্ট্যাকের উপর ধাক্কা দেওয়া হয়।

9 টা বাজে

#########6
#########;
#########]
#########9
##########
#########3
#########;
#########;
#########1
6;]9#3;;12

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

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

  • সমস্ত লাইন কিন্তু শেষ মন্তব্য।

  • 6স্ট্যাকের উপর চাপ দেওয়া হয়, ;এড়িয়ে যায়।

  • ] একটি অ্যারের মধ্যে স্ট্যাক মোড়ানো (আউটপুট প্রভাবিত করে না)।

  • 9 স্ট্যাকের উপর ধাক্কা দেওয়া হয়।

  • # লাইন শেষ হওয়া পর্যন্ত একটি মন্তব্য শুরু।


25

> <> , 20 বাইট

X   n-+g+aa0g+9a2c!v

সেখানে অপরিচ্ছন্ন রয়েছে, যথা:

  • পরে Xহয়\x06\t
  • পরে cহয়\x03

উত্স কোডের একই অংশটি প্রতিবার gসঞ্চালিত হয়, 12 থেকে কি বিয়োগ করতে হবে তা নির্ধারণ করতে উত্স কোডের দুটি অংশ ব্যবহার করে।

v                         Make IP move downwards
 !\x03                    Jump over the \x03
      c                   Push 12
       2a9+g              Get the char at position (2, 19), i.e. the \t for
                          3 o'clock, the \x03 for 9 o'clock, 0 otherwise
            0aa+g         Get the char at position (0, 20), i.e. first char on
                          the line after the X, \x06 for 6 o'clock
                 +        Add
                  -       Subtract from the 12
                   n      Output as number
                    \t    Unrecognised instruction - errors out

12 টা বাজে | 3 টা বাজে | 6 টা বাজে | 9 টা বাজে (ট্যাবের কারণে বিভ্রান্ত দেখায়)


7
"12 টি ভোট 0 উত্তর? এসপি এটি তুচ্ছ প্রমাণিত না হওয়া পর্যন্ত অপেক্ষা করুন please" -Helka, চ্যাটে
অ্যালেক্স উ:

1

রুপ , 54 বাইট

OW    3#H V  1#1  H#6  WO#H V>V1#OW V>V9#OW   2#OW   1

<প্যাডিং চরিত্র হিসাবে ব্যবহার করে ।

12 টা বাজে | 3 টা বাজে | 6 টা বাজে | 9 টা বাজে

1 ২টা বাজে

1এবং 2যে 3 চক্র শীর্ষ পতনের কাছাকাছি হয়। যখন তারা Wঅপারেটরে পৌঁছায়, অপারেটরটি নম্বরটি রাখে O, যা আউটপুটকে উপস্থাপন করে।

1এই অংশে

1


V

H

2 চক্রের জন্য পড়েছিল, Vঅপারেটর এটি নীচে সরায় এবং পরবর্তী চক্রে Hঅপারেটরটিকে সক্রিয় করে যা প্রোগ্রামটি শেষ করে।

3 টা বাজে

Oসরানো এবং পড়ে যে বস্তু হয়। যেহেতু কোডটিতে এখন একাধিক অক্ষরের একটি লাইন রয়েছে, তাই সমস্ত অন্যান্য লাইন খালি জায়গাগুলিতে পূর্ণ। সকল Oঅধিকার এবং পতনের প্যাচসমূহ, যার ফলে Wঅপারেটরদের পাঠাতে কোনো স্থান আছে 1এবং 2

কেবল Oযে স্থানান্তরিত হয় না তা হ'ল কেন্দ্রের মধ্যে আটকা পড়ে। 3উপরে 4 চক্র জন্য পড়ে W

তারপরে যে সংখ্যাগুলি পড়েছে তারা Wএবং এর মধ্যে 4 টি স্পেস পূরণ করছে 3। যখন এটি পূরণ করা হয়, অন্য একটি নম্বর তাদের সকলের উপর দিয়ে যেতে পারে এবং Hপ্রোগ্রামটি শেষ করে এমন অপারেটরে পৌঁছতে পারে ।

6 টা বাজে

1


H
#
6


W
O

12 এর মতোই ফলস্বরূপ, 6জলপ্রপাতটি Wএবং এর 1কাছে H। এটি 2 চক্রের মধ্যে ঘটে, 12 কেস হওয়ার আগে প্রোগ্রামটি শেষ করে।

9 টা বাজে

<9
<V
<>
<V
< 
<W
<O
<#
<1
<V
<>
<V
< 
<H

(আমি একক কলাম দেখায় <কারণ অন্যরা কিছুই করেনি)।

Vআপ 9এবং নিচে পাইপ, যা বাম বস্তু পথচ্যুত করতে করতে প্যাচসমূহ করুন। পাইপটি <বস্তুটিকে নীচে এবং পরেরটিটিকে ডানে সরিয়ে দেয়। Vঅপারেটর করা 9নিচে স্থান এবং তারপর আউটপুট পাঠানো হয়।

1সমান আন্দোলন করে তোলে এবং ছুঁয়েছে Hকোন প্রোগ্রাম শেষ হয়। পাইপগুলি একই চক্রের অবজেক্টগুলিকে সরানোর সাথে সাথে এই সমস্তগুলি একটি একক চক্র নেয়।

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