আমাকে একটি ডোমিনো আঁকো


35

চ্যালেঞ্জ

ইনপুট হিসাবে দুটি অঙ্ক দেওয়া হয়েছে- 9 , দুটি মুখের এই সংখ্যা পিপস (বিন্দু) দিয়ে একটি ডমিনো আউটপুট করুন ( ডাবল-নাইন ডোমিনো সেট থেকে )। দশটি সম্ভাব্য মুখ দেখতে এটির মতো (পাইপ দ্বারা পৃথক):

     |     |    o|    o|o   o|o   o|o o o|o o o|o o o|o o o
     |  o  |     |  o  |     |  o  |     |  o  |o   o|o o o
     |     |o    |o    |o   o|o   o|o o o|o o o|o o o|o o o

বা পৃথক লাইনে:

     
     
     
-----
     
  o  
     
-----
    o
     
o    
-----
    o
  o  
o    
-----
o   o
     
o   o
-----
o   o
  o  
o   o
-----
o o o
     
o o o
-----
o o o
  o  
o o o
-----
o o o
o   o
o o o
-----
o o o
o o o
o o o

ইনপুট ফর্ম্যাটগুলি

আপনি যেকোন যুক্তিসঙ্গত বিন্যাসে ইনপুট নিতে পারেন, এতে অন্তর্ভুক্ত থাকলেও সীমাবদ্ধ নয়:

  • দুটি পৃথক পূর্ণসংখ্যা, স্ট্রিং বা সিঙ্গলটন অ্যারে;
  • 0-99 থেকে একক পূর্ণসংখ্যা;
  • দুটি পূর্ণসংখ্যার একটি অ্যারে;
  • দুটি অঙ্কের একটি স্ট্রিং।

আউটপুট ফর্ম্যাটগুলি

  • দুটি মুখ আনুভূমিকভাবে সারিবদ্ধ হতে পারে, পাইপ দ্বারা পৃথক পৃথক:
    o|o   o
     |  o  
o    |o   o
  • বা এগুলি হাইফেন দ্বারা উল্লম্বভাবে সারিবদ্ধভাবে সংযুক্ত করা যেতে পারে:
    o
     
o    
-----
o   o
  o  
o   o
  • আপনি যদি চান তবে আপনি ডোমিনোর চারপাশে একটি সীমানা আউটপুট করতে পারেন।
  • আপনি লাইনগুলির একটি তালিকা, দুটি মুখের একটি তালিকা বা এগুলির সংমিশ্রণ বেছে নিতে পারেন।
  • আপনি পিপসের জন্য যে কোনও অ-হোয়াইটস্পেস অক্ষর ব্যবহার করতে পারেন (আমি ব্যবহৃত o)।
  • আপনি যদি সত্যিই ইচ্ছুক হন তবে আপনি 0হোয়াইটস্পেস এবং 1পিপসের জন্য ব্যবহার করতে পারেন , বা False/ True(অথবা আপনার ভাষার সমতুল্য) যদি অ্যারের আউটপুট করে থাকেন।
  • আপনি কলামগুলির মধ্যে সাদা স্থান সরিয়ে ফেলতে পারেন; এটি 7, 7 এর জন্য একটি বৈধ আউটপুট:
ooo|ooo
 o | o 
ooo|ooo
  • যে কোনও মুখ 90 ডিগ্রি ঘোরানো যেতে পারে। এটি 7, 7 এর জন্যও একটি বৈধ আউটপুট:
o   o|o o o
o o o|  o  
o   o|o o o
  • আপনার পছন্দ অনুসারে আপনার যতটুকু / সামান্য নেতৃত্ব / পিছনের সাদা জায়গা থাকতে পারে, যতক্ষণ না আউটপুটটির মূল অংশটি এখনও অন্য সীমাবদ্ধতার সাথে ফিট করে।
  • লাইনগুলি খালি থাকলেও প্রতিটি মুখ অবশ্যই 3 লাইন লম্বা হতে হবে। 0, 1 এর জন্য আপনি এটিকে আউটপুট করতে পারবেন না:
-----

  o

তবে আপনি এটি আউটপুট করতে পারে :




-----

  o

একইভাবে, যদি আপনি লাইনের দুই তালিকার একটি তালিকা outputting হয়েছে, আপনি কাজ করতে পারে [["", "", ""], ["", " o", ""]], কিন্তু না [[""], [" o "]]

স্কোরিং

এটি , তাই প্রতিটি ভাষার বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


সুতরাং, ইনপুট জন্য [2, 1], আমি আউটপুট পারে [[[0,0,1],[0,0,0],[1,0,0]],[[0,0,0],[0,1,0],[0,0,0]]]?
ডেনিস

@ ডেনিস সঠিক
ETH প্রোডাকশনগুলি

2
মুখগুলির মধ্যে বিভাজকটি কী ড্যাশ করতে হবে, বা এটি অন্য কোনও সামঞ্জস্যপূর্ণ মান হতে পারে?
জো কিং

@ জোকিং আমি বলব আপনি ইতিমধ্যে ব্যবহার করছেন এমন চরিত্রগুলি বাদে অন্য যে কোনও ধারাবাহিক চরিত্রটি ব্যবহার করতে পারেন।
ETH প্রোডাকশনগুলি

[0,5,21,29,31]আমার বন্ধুরা এখানে সমস্ত গুরুত্বপূর্ণ নম্বর।
যাদু অক্টোপাস উরান

উত্তর:


14

পাইথন 2 , 101 97 92 68 64 বাইট

lambda*a:[[[n>3,n>5,n>1],[n>7,n%2,n>7],[n>1,n>5,n>3]]for n in a]

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

ক্রেডিট


@ মিঃ এক্সকোডার আবার আপডেট হয়েছে।
নীল

1
বিন্যাসটি .চ্ছিক। এক জোড়া ম্যাট্রিক ফিরে আসা কমপক্ষে 22 বাইট সাশ্রয় করে।
ডেনিস

1
68 বাইট কোন ফর্ম্যাটিং সহ (নোট যে 0এবং Falseপাইথন সমান, তাই এটি ঠিক উচিত)।
জোনাথন অ্যালান

@ জোনাথান অ্যালান খুব চালাক, আপডেট হয়েছে।
নীল

64 বাইট। যদি আপনাকে ল্যাম্বডা বানাতে হয় তবে একটি তালিকা উপলব্ধি সম্ভবত সংক্ষিপ্ত orter
সম্পূর্ণমানবিক

12

সি (জিসিসি) , 252 242 269 262 241 235 220 বাইট

অজগরের সকেটগুলির জন্য আমি স্ট্যাক ওভারফ্লোতে ছিলাম, যখন এই পপ আপ হল, কেন বলল না? প্রথম কোড গল্ফ, সুতরাং আমি যদি 100% নিয়মগুলি অনুসরণ করি তবে আমি পুরোপুরি নিশ্চিত নই (এবং যদি না হয় এবং কেউ আমার প্রবাদগত কুকি চুরি করে এটি ঠিক করতে চায়, তাই হোক)। 'ও' এবং '' দিয়ে, 255 245 272 265 244 238 228 বাইট। * 48 * * 79 + 32 এর সাথে প্রতিস্থাপন করুন।

#define Q(P,R)(R>>P&1)+48
char a[11];i=0;f(char*c){char b=c[0];a[3]=a[7]='\n';a[5]=Q(0,b);a[1]=a[9]=Q(3,b);a[2]=a[8]=Q(2,b)|a[1];a[0]=a[10]=Q(1,b)|a[2];a[4]=a[6]=a[1]|Q(2,b)&Q(1,b);puts(a);if(i++<1){puts("---");f(c+1);}}

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

এটি কীভাবে কাজ করে:
আমি কিছুটা শিফট এবং বিটওয়াইস ব্যবহার করি এবং কোনও স্পট পরিষ্কার বা পাইপ হওয়া উচিত কিনা তা খুঁজে পেতে 0 বা 1টিকে সঠিক ASCII মান থেকে অফসেট করুন। এটি 4 এবং 5 এ বিভ্রান্ত হয়, তাই তাদের কিছু ফিক্সিংয়ের দরকার ছিল। আসলে কয়েক বাইট যুক্ত। একটি মুখোশ সরিয়ে এবং কেবল 1 (দোহ) ব্যবহার করে বেশ কয়েকটি বাইট সরিয়ে ফেলতে সক্ষম হয়েছিল

অতিরিক্ত # ডিফাইন
পরিবর্তনগুলি: মুছে যাওয়া মেমসেট -21 বাইটগুলি সরিয়ে 7 কম বাইটের জন্য মিঃ এক্সকোডারকে বিশেষ ধন্যবাদ । যথাক্রমে 8 | 4 এবং 2, 8 | 4, 8 | 4 | 2 এর উপর নির্ভর করতে বিট লজিকটি 6,4, 2 এর জন্য পুনরায় তৈরি করুন। -6 বাইট। প্রিন্টফের পরিবর্তে পুটস ব্যবহার করে অতিরিক্ত নতুনলাইনগুলি সরিয়ে ফেলেছে, এটিও কম। অতিরিক্ত অ্যাসাইনমেন্ট সরিয়ে 11 টি অ্যারে সংক্ষিপ্ত করুন -15 বাইট। এখন আমি মনে করি এটি আমি সবচেয়ে ভাল করতে পারি।


7
পিপিসিজিতে আপনাকে স্বাগতম!
শেগি

হাই, পিপিসিজিতে আপনাকে স্বাগতম! আপনার কোডে একটি বিট আরও কমান করতে পারেন 245 বাইট
জনাব Xcoder

'\n'দ্বারা প্রতিস্থাপন করা যেতে পারে 10। (কারণ সি তে, চর ডেটা টাইপগুলিও পূর্ণসংখ্যার ডেটা টাইপ হয়) কিছু charসম্ভবত এটি দ্বারা প্রতিস্থাপন করা যেতে পারে int। (বা পুরোপুরি বাদ দিন)
ব্যবহারকারী 202729

এখানে 184 বাইট নিচে তবে এটি বর্তমান সি গল্ফের চেয়ে এখনও বেশি।
অ্যান্ড্রু বাউমার


10

জেলি , 20 বাইট

“¤o.ƤẸʠṚ’B¬s5ŒBị@s€3

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

বিকল্প সংস্করণ, আসল আউটপুট, 33 32 31 বাইট

“¤o.ƤẸʠṚ’ṃ⁾ os5ŒBị@s€3K€€Zj€”|Y

1 ব্যবহারকারী বাইট বন্ধ করে দেওয়ার জন্য @ ব্যবহারকারী 202729 কে ধন্যবাদ!

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

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

প্রথম, “¤o.ƤẸʠṚ’- বাইজিক বেস 250 এ একটি পূর্ণসংখ্যা শাব্দিক - 1086123479729183 এ ফেরতের মান সেট করে ।

তারপরে, রিটার্ন মানকে বাইনারিতে রূপান্তর করে এবং অ্যারের ফলন করে প্রতিটি অঙ্কের লজিক্যাল নট নেয়

00001001000010110100101011110011101111101111100000

এর পরে, s5ŒBদৈর্ঘ্য খন্ডে যে অ্যারের splits 5 , তারপর bounces প্রতিটি খণ্ড, বাঁক abcde মধ্যে abcdedcba , ফলনশীল

000010000 001000100 001010100 101000101 101010101

111000111 111010111 111101111 111111111 000000000

এখন, এই অ্যারের j তম এবং কে আইটেমটি ị@পুনরুদ্ধার করে , যেখানে জে, কে প্রোগ্রামের প্রথম যুক্তি। নোট করুন যে ইনডেক্সিং 1-ভিত্তিক এবং মডুলার, সুতরাং জিরোথ উপাদানটিও দশম।

অবশেষে, s€3দৈর্ঘ্যের প্রতিটি খণ্ডকে দৈর্ঘ্যের তিন ভাগে তিন ভাগে বিভক্ত করে।


1
এখনও আমার কাছে যাদুর মতো লাগে তবে একটি ব্যাখ্যা দেওয়ার চেষ্টাটির আমি প্রশংসা করি। আমি স্বীকার করব যে দোষটি সম্ভবত আমার কারণ আমি কেবলমাত্র একজন নিম্ন পিএইচপি ওয়েব বিকাশকারী
ArtisticPhoenix

3ব্যবহার করছে 0পিপস জন্য, না 1সব অন্যদের মতো।
জোনাথন অ্যালান

“¤o.ƤẸʠṚ’কাজ করা উচিত.
জোনাথন অ্যালান

@ জোনাথান অ্যালান ধন্যবাদ! কীভাবে তা ঘটেছে তা নিশ্চিত নয় ...
ডেনিস

8

জেলি , 13 বাইট

⁽½ÑD<;ḂŒBs3µ€

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

মিশ্রন ডেনিস 'ব্যবহার করার ব্যাপারে ŒBএ (বাউন্স) এই উত্তর এবং Xcali মধ্যে গুলি পর্যবেক্ষণ' এই উত্তর 13 বাইট জন্য।


জেলি , 28 বাইট

(সুন্দর মুদ্রণ সহ)

কেবলমাত্র এখনই আমি জানি যে জেলি স্ট্রিং আক্ষরিক স্বয়ংক্রিয়ভাবে শেষ হয়ে গেছে ...

⁽½ÑD<;ḂŒBị⁾o Ks6Yµ€j“¶-----¶

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


স্পষ্টতই আমার পদ্ধতির এখানে⁽½ÑD“¤¦¢¬‘
এরিকথ আউটগলফারের

13 বাইট (ডেনিস আউটগল্ফিং) শীর্ষে রয়েছে এবং আরও সহজেই দেখা যায় তাই ফাংশনগুলি পুনরায় সাজানো ভাল না?
জাকারি

@ জ্যাচারý অস্থায়ী সমাধান। এটি পরে ঠিক করবে।
ব্যবহারকারী 202729

6

পিএইচপি 155 , 150 বাইট

function d($a){foreach($a as$n){$o="---";for($i=0;$x=2**$i,$i<9;++$i)$o.=([0,16,68,84,325,341,365,381,495,511])[$n]&$x?0:' ';echo chunk_split($o,3);}}

এটি ইনপুট হিসাবে পূর্ণসংখ্যার অ্যারে লাগে। পরীক্ষার জন্য:

d([1,2]);

echo "=========\n";

d([0,1,2,3,4,5,6,7,8,9]);

আউটপুট ফরমেট:

---

 0 

---
  0

0  

এটি পরীক্ষা করে দেখুন লাইভ এখানে

আমার সমাধান

আমার সমাধানের জন্য আমি বিটওয়াইজ সংখ্যা (2 এর শক্তি) নিয়ে একটি ম্যাট্রিক্স ব্যবহার করেছি । এটি এর মতো ভিজ্যুয়ালাইজ করা যায়:

 1  |  2  |  4
 8  | 16  | 32
 64 | 128 | 256

এবং তারপরে প্রতিটি ডোমিনোর পিপসের জন্য বিট পজিশন সহ স্টোরেজ অ্যারেটি সংখ্যাযুক্ত সূচক দ্বারা সম্পর্কিত:

[0,16,68,84,325,341,365,381,495,511]

সুতরাং কেবল পরিষ্কার করা:

  • উদাহরণ 0: সূচক 0বা মানটি 0ফাঁকা ডোমিনো হবে, যা সর্বদা মিথ্যা false
  • উদাহরণ 1: সূচক 1বা মানটি 16হবে এক নম্বর ডোমিনো এবং ম্যাট্রিক্সে যা মাঝখানে রয়েছে 16
  • উদাহরণ 2: সূচক 2বা মানটি 68হবে দ্বিতীয় নম্বর ডোমিনো এবং ম্যাট্রিক্সে যা শীর্ষে ডান 4এবং নীচে বাম 64 বা4|64
  • উদাহরণস্বরূপ 3: সূচক 5বা মান 341হবে পাঁচ নম্বর ডোমিনো এবং ম্যাট্রিক্সে1|4|16|64|256
  • উদাহরণস্বরূপ 4: সূচক 9বা মানটি 511হবে নাইন ডমিনো এবং ম্যাট্রিক্সে এর সমস্ত বিটের সংমিশ্রণ হবে।

একবার যে স্থাপন করা হয় এটা ম্যাট্রিক্স 9 পদের জন্য লুপিং ও সেটিং একটি মোটামুটি সহজ ব্যাপার $xথেকে 2থেকে ক্ষমতা এর$i

for($i=0;$x=2**$i,$i<9;++$i)

তারপরে আমরা কিছুটা কাজ করি এবং &যেমন আমরা এই দাগগুলি দিয়ে পুনরাবৃত্তি করি। উদাহরণস্বরূপ উদাহরণগুলির জন্য উপরের উদাহরণটি 2 ব্যবহার করবে এবং আমি xভিজ্যুয়াল স্পষ্টতার জন্য এর পরিবর্তে স্থানগুলি ব্যবহার করব:

  • পুনরাবৃত্তি 1, 68 & 1 ? 0 : 'x'ফলাফল যা'x'
  • পুনরাবৃত্তি 2, 68 & 2 ? 0 : 'x'ফলাফল যা'x'
  • পুনরাবৃত্তি 3, 68 & 4 ? 0 : 'x'ফলাফল যা0
  • পুনরাবৃত্তি 4, 68 & 8 ? 0 : 'x'ফলাফল যা'x'
  • পুনরাবৃত্তি 5, 68 & 16 ? 0 : 'x'ফলাফল যা'x'
  • পুনরাবৃত্তি 6, 68 & 32 ? 0 : 'x'ফলাফল যা'x'
  • পুনরাবৃত্তি 7, 68 & 64 ? 0 : 'x'ফলাফল যা0
  • পুনরাবৃত্তি 8, 68 & 128 ? 0 : 'x'ফলাফল যা'x'
  • পুনরাবৃত্তি 9, 68 & 256 ? 0 : 'x'ফলাফল যা'x'

লুপটি সম্পূর্ণ হয়ে গেলে আমরা এই স্ট্রিংটি দিয়ে শেষ করি "xx0xxx0xx"

তারপর আমরা সীমান্ত যোগ "---xx0xxx0xx"এটি (আমি আসলে সীমান্ত কিন্তু যাই হোক না কেন সঙ্গে শুরু করুন)

এবং অবশেষে আমরা এটিকে 3 এর জন্য ছাড়িয়েছি ()

---
xx0
xxx
0xx

আপনি কী মনে করেন তা নির্দ্বিধায় আমাকে জানান।


আপনি **পিএইচপি pow() ৫. in এর
ড্যানিয়েল

@ ড্যানিয়েল - ধন্যবাদ 5 টি বাইট সংরক্ষণ! আমি জানতাম না যে তারা যোগ করেছে, আমি সর্বদা চেষ্টা করি ^তবে এটির বিটওয়াইজ এক্সওআর ... lol
আর্টিকাল

আমি মনে করি না যে আপনাকে একটি অতিরিক্ত সীমানা মুদ্রণের অনুমতি দেওয়া হয়েছে।
12Me21

এটি ওপিতে যেখানে এটি দূরবর্তীভাবে ইঙ্গিত করে তা আমাকে দেখান।
আর্টিস্টিকফোনিক্স

আমি অনুমান করি যে এটি অপেক্ষাকৃত কম পরিচালিত হবে $argv। পিএইচপি-তে ফাংশন ওভারহেড সাধারণত 13 বাইট হয়।
তিতাস

6

পার্ল 5 , 107 76 70 + 1 (-a ) = 70 বাইট

পার্ল 5 , 70 বাইট

$,="
---
";say map{$_='351
7 7
153'=~s/\d/$_>$&||0/ger=~s/ /$_%2/er}<>

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

সাদা স্থানের জন্য 0 এবং পিপসের জন্য 1 ব্যবহার করে। খুব সহজ পদ্ধতি: পর্যবেক্ষণ করুন যে অঙ্কটি উপরে যাওয়ার সাথে সাথে একবার একবার পাইপটি "চালু" হয়ে যায়, মাঝখানে থাকা ব্যতীত এটি কখনই "বন্ধ" হয় না। মাঝের অবস্থানে, এটি সমস্ত বিজোড় সংখ্যার জন্য চালু রয়েছে। সুতরাং, প্রতিটি পজিশনের জন্য, এটি যে সংখ্যাটি বন্ধ রয়েছে তা শেষ অঙ্কের চেয়ে বেশি কিনা তা পরীক্ষা করা সহজ বিষয়। ||0যখন শর্ত মিথ্যা আউটপুট সৃষ্টি করে। পার্লে, undefমিথ্যাটি নাল হিসাবে আউটপুট দেয়।


4

জাভাস্ক্রিপ্ট (ES6), 79 78 বাইট

@ বুদ্ধিমানের জন্য 1 টি বাইট সংরক্ষণ করা হয়েছে

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (a)(b)এবং একটি উল্লম্ব ASCII ডোমিনো আউটপুট দেয়।

a=>b=>(g=n=>`351
707
153`.replace(/./g,d=>' o'[(+d?n>d:n)&1]))(a)+`
---
`+g(b)

ডেমো


অনুভূমিক সংস্করণ, 80 79 বাইট

@ বুদ্ধিমানের জন্য 1 টি বাইট সংরক্ষণ করা হয়েছে

2 টি পূর্ণসংখ্যার অ্যারের হিসাবে ইনপুট নেয় এবং একটি অনুভূমিক ASCII ডোমিনো আউটপুট দেয়।

a=>`240|351
686|797
042|153`.replace(/\d/g,d=>' o'[(d<8?(x=a[d&1])>(d|1):x)&1])

ডেমো


খুব ভাল, আমার যা ছিল তার সাথে খুব মিল। হয় n>d|0বা এর সাথে একটি বাইট সংরক্ষণ করুন(+d?n>d:n)&1
ETH প্রোডাকশনগুলি

4

এপিএল (ডায়ালগ) , 25 বাইট

2∘|(3 3⍴⊢,,∘⌽)¨>∘3 5 1 7¨

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

-2 এনএনজি ধন্যবাদ ।

আউটপুট ফর্ম্যাটটি কিছুটা অদ্ভুত: এই ফাংশনটি 0s এবং 1 এস সমেত দুটি আকৃতি -3,3 অ্যারে সমন্বিত একটি অ্যারে প্রদান করে।


-২ বাইটের জন্য একটি পুনর্লিখন:2∘|(3 3⍴⊢,,∘⌽)¨>∘3 5 1 7¨
এনজিএন

@ ধন্যবাদ, এটি চতুর: পি
এরিক দি আউটগল্ফার


2

জাভাস্ক্রিপ্ট (ES6), 87 বাইট

a=>b=>[(s=n=>[[n>3,n>5,n>1],[n>7,n%2,n>7],[n>1,n>5,n>3]].map(c=>c.map(b=>+b)))(a),s(b)]

f=a=>b=>[(s=n=>[[n>3,n>5,n>1],[n>7,n%2,n>7],[n>1,n>5,n>3]].map(c=>c.map(b=>+b)))(a),s(b)]
<div oninput="o.innerText=JSON.stringify(f(a.value)(b.value))"><input id=a type=number min=1 max=9 value=1><input id=b type=number min=1 max=9 value=1><pre id=o>


চমৎকার ডোমিনোস ...
এশালং ফল 14

2

হাস্কেল - 88 টি অক্ষর

map$zipWith(zipWith($))[[(>4),(>5),(>1)],[(>7),odd,(>7)],[(>1),(>5),(>3)]].repeat.repeat

মুখগুলি নির্দেশ করে দুটি সংখ্যার একটি তালিকা নেয়, বুলের তালিকার তালিকার একটি তালিকা প্রদান করে। এটি সংক্ষিপ্ত নয় তবে সমাধানটি আমি আকর্ষণীয় মনে করি।


আপনি কেবল এর mapপরিবর্তে repeatএবং ব্যবহার করতে পারেন zipWith: map$(<$>[[(>4),(>5),(>1)],[(>7),odd,(>7)],[(>1),(>5),(>3)]]).map.flip($)এটি অনলাইন চেষ্টা করে দেখুন!
লাইকনি

নন-পয়েন্টফ্রি আরও দুটি বাইট সংরক্ষণ করে: অনলাইনে চেষ্টা করে দেখুন!
লাইকনি

2

পিপ , 32 27 24 21 বাইট

-৩ বাইট @DLosc ধন্যবাদ

FcgP[Yc>_M3517c%2RVy]

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

ব্যাখ্যা:

F                      For each
 c                       character $c
  g                      in the list of inputs:
   P                     Print
    [               ]      an array consisting of
                             an array of bits representing whether
      c>                       $c is greater than
        _M                       each of
          3517                     3, 5, 1, and 7
     Y                       (call this bit array $y),
              c%2            $c mod 2,
                 RV          and the reverse
                   y           of $y.

1
পাইপ অনুগ্রহ জিতে অভিনন্দন! এখন যখন অনুগ্রহকাল শেষ হয়ে গেছে, আমি আপনাকে বলতে পারি: 3517তালিকার পরিবর্তে কোনও স্কেলারে ম্যাপিং করে 3 বাইট সংরক্ষণ করুন [3 5o7]। ;)
DLosc

1

> <> , 57 + 3 = 60 বাইট

>{:3)$:5)$:1)$:7)$:2%$\ao \
\?%cl999)3$)5:$)1:$)7:/nnn<rp

এটি অনলাইন চেষ্টা করুন । উল্লম্ব ডোমিনো হিসাবে আউটপুটগুলি বিন্দুর জন্য 1s, সাদা স্থানের জন্য 0s এবং বিভাজকের জন্য 9s এর মতো:

001
000
100
999
111
111
111

প্রযুক্তিগতভাবে এটি 12 ইনপুট মান পর্যন্ত বাড়ানো যেতে পারে।

পুরনো সংস্করণ:

> <> , 76 + 3 = 79 বাইট

>{:3)$:5)$:1)$a$:7)$:2%$:7)\&?o~?!n\
\?(*a3la"---"a)3$)5:$)1:$a$/$&:)9::<r~p

এটি অনলাইন চেষ্টা করুন । উল্লম্ব ডোমিনো হিসাবে আউটপুটগুলি 1s এবং 0s এর মতো সাদা স্থানের জন্য বিশিষ্ট ডোমিনো হিসাবে:

001
000
100
---
111
111
111

1

কাঠকয়লা , 46 44 43 39 বাইট

EE²℅§@APQTUVW^_NE⪪E⁹§ o÷ιX²↔⁻⁴λ³⪫λ M⁵↑⁵

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

EE²℅§@APQTUVW^_N

দুটি পূর্ণসংখ্যা পড়ুন এবং সেগুলি দেখার তালিকায় ম্যাপ করুন। তারপরে ফলাফলের উপরে মানচিত্র। (এটি কার্যকরভাবে একটি অস্থায়ীভাবে ফলাফল ক্যাপচার।)

  E⁹                Loop `l` (!) from 0 to 8
            ⁻⁴λ     Subtract from 4
           ↔        Absolute value
         X²         Power of 2
       ÷ι           Divide into the looked-up value `i`
    § o             Convert to space or o
 ⪪             ³    Split into (3) groups of 3
E                   Map over each group
                ⪫λ  Join the 3 characters with spaces

ফলাফলগুলি নিস্তরিত হওয়ার কারণে ফলাফলগুলি স্পষ্টভাবে পৃথক লাইনে মুদ্রিত হয় এবং প্রতিটি মুখের মধ্যে একটি অতিরিক্ত ফাঁকা রেখা থাকে।

M⁵↑⁵

উপরে সরান এবং মুখের মধ্যে বিভাজক রেখা আঁকুন।

পূর্ববর্তী 43-বাইট অনুভূমিক সংস্করণ:

↶P³M⁷←FE²℅§@APQTUVW^_NF⁹«F¬﹪κ³⸿⸿§ o÷ιX²↔⁻⁴κ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

উল্লম্বভাবে কাজ করুন।

P³

বিভাজক রেখাটি মুদ্রণ করুন।

M⁷←

প্রথম মুখের শুরুতে অবস্থান।

FE²℅§@APQTUVW^_N

দুটি পূর্ণসংখ্যা পড়ুন এবং সেগুলি দেখার তালিকায় ম্যাপ করুন।

F⁹«

9 oটি পর্যন্ত আউটপুট প্রস্তুত করুন ।

F¬﹪κ³⸿⸿

তবে প্রতি তিনটে একটি নতুন কলাম শুরু করুন o

§ o÷ιX²↔⁻⁴κ

ASCII কোডের নিম্ন 5 বিটগুলিকে বাইনারি রূপান্তর করুন এবং তারপরে বাকী 4 টির জন্য আউটপুটটি মিরর করুন o


আউটপুট ফর্ম্যাট বরং উদার, যা কয়েক বাইট সংরক্ষণ করা উচিত।
ডেনিস

1
এই জাদুকরীটি কী
ArtisticPhoenix

@ ডেনিস আসলে আসল আউটপুট ফর্ম্যাটটি সর্বাধিক সহায়ক, কারণ এটি স্বয়ংক্রিয়ভাবে আমাকে বিভাজন রেখা আঁকতে জায়গা দেয়।
নিল

ওহ ,শ্বর, দু'জন নীল আছে।
জাকারি

2
@ জ্যাচারý আসলে ব্যবহারকারীর পৃষ্ঠা অনুসারে আট বা 40 জন রয়েছে যদি আপনি এমন লোকদের অন্তর্ভুক্ত করেন যাদের নামগুলিতে নিল রয়েছে ...
নীল

1

জেলি , 16 বাইট

>⁽¤xb8¤;ḂŒḄs3
Ç€

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

নিলের কৌশল ব্যবহৃত হয়েছেমানগুলি উত্পন্ন করতে এবং বেসের সংক্ষেপন ; বাইনারি অ্যারে হিসাবে আউটপুট। ইনপুট হিসাবে একটি তালিকা নেয়।

ব্যাখ্যা:

Ç€
 € for €ach input,
Ç  execute the previous line.

>⁽¤xb8¤;ḂŒḄs3
 ⁽¤xb8¤       the array [3, 5, 1, 7]
>             1 if the input is greater than each element, 0 otherwise
       ;Ḃ     append input % 2
         ŒḄ   bounce array
           s3 split into chunks of 3

0

APL + + জয়, 49 47 বাইট

4⌽'|',⌽⍉6 3⍴,⍉(9⍴2)⊤(+\∊0 241 52 24 114,¨16)[⎕]

আদমের মন্তব্য অনুসারে সম্পাদিত, ধন্যবাদ, সূচক উত্স শূন্যের সাথে চালানোর জন্য।

প্রতিটি মুখের জন্য একটিতে পূর্ণসংখ্যার ভেক্টর হিসাবে স্ক্রিন ইনপুটটির জন্য অনুরোধ জানানো হয়।

আউটপুট ফর্ম হয়:

1 1 1 | 0 0 1    0 0 0 | 1 0 1
0 1 0 | 0 1 0    0 0 0 | 0 1 0
1 1 1 | 1 0 0    0 0 0 | 1 0 1

ইনপুট জন্য 7 3 এবং0 5

ব্যাখ্যা:

(+\∊0 241 52 24 114,¨16) create a vector of integers whose binaries
                         represent the dots on the domino faces

[1+⎕] take input integers as indices to select from above vector

⍉6 3⍴,⍉(9⍴2)⊤ convert selected integers to a 9x2 binary matrix and reshape
              to match the orientation of the domino faces

4⌽'|',⌽ rotate, concatenate centre line markers and rotate again to centre 

কেন ⎕IO←0নিজেকে বাঁচাতে ব্যবহার করবেন না 1+?
অ্যাডম

@ অ্যাডাম কেন সত্যই নয় - অলস;)
গ্রাহাম

0

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

lambda x,y,d="001155777702020202570044557777":[("%03d"%int(bin(int(o))[2:]),"---")[o=="3"]for o in d[x::10]+"3"+d[y::10]]

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

ফিরে গিয়ে নিয়মগুলি পুনরায় পড়ার পরে লাম্বদা ব্যবহার করে 121 এ কমিয়ে আনা হয়েছে। এখন লাইনগুলির একটি তালিকা আউটপুট করে।

সুন্দরভাবে ফর্ম্যাট করা আউটপুট সহ পূর্ববর্তী সংস্করণ:

পাইথন 2 , 156 153 147 141 বাইট

x,y=input()
d="001155777702020202570044557777"
a=["%03d"%int(bin(int(o))[2:])for o in d[x::10]+d[y::10]]
for x in a[:3]+["---"]+a[3:]:print x

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

-3 @ নাইডজেজেকোবকে ধন্যবাদ সহ

2 পূর্ণসংখ্যার হিসাবে ইনপুট নেয় এবং 0 = স্থান এবং 1 = বিন্দুর সাথে উল্লম্ব ফর্ম্যাটে আউটপুট নেয়।



0

পাইট , 220 154 বাইট

দ্বিতীয় প্রচেষ্টা (154 বাইট)

46281ᴇ8264áĐ9ř3%¬Đ¬2⁵*⇹1ᴇ*+03Ș←Đ3Ș≥Đ6²⁺3**⇹¬2⁵*+⇹9ř5=⇹2%*9²2-*+⇹9ř9<*Ž⇹ŕ⇹9ř3%¬Đ¬2⁵*⇹1ᴇ*+03Ș←Đ3Ș≥Đ6²⁺3**⇹¬2⁵*+⇹9ř5=⇹2%*9²2-*+⇹9ř9<*Ž⇹ŕ5⑴9△*Ƈǰ⇹Ƈǰ64ȘƇǰ6↔ŕ↔ŕ↔

ব্যাখ্যা:

46281ᴇ8264áĐ                                    Pattern matching for every cell but the middle
9ř3%¬Đ¬2⁵*⇹1ᴇ*+03Ș                              Non-pip characters
←Đ3Ș≥Đ6²⁺3**⇹¬2⁵*+⇹9ř5=⇹2%*9²2-*+⇹9ř9<*Ž⇹ŕ⇹     Make top cell
9ř3%¬Đ¬2⁵*⇹1ᴇ*+03Ș                              Non-pip characters
←Đ3Ș≥Đ6²⁺3**⇹¬2⁵*+⇹9ř5=⇹2%*9²2-*+⇹9ř9<*Ž⇹ŕ      Make bottom cell
5⑴9△*Ƈǰ⇹Ƈǰ64ȘƇǰ6↔ŕ↔ŕ↔                          Make boundary and combine



প্রথম প্রচেষ্টা (220 বাইট):

2`↔←Đ4≥Đ6²⁺3**⇹¬5«+2⁵⇹3ȘĐ6≥Đ6²⁺3**⇹¬5«+2⁵⇹3ȘĐ2≥Đ6²⁺3**⇹¬5«+1ᴇ⇹3ȘĐ8≥Đ6²⁺3**⇹¬5«+2⁵⇹3ȘĐ2%Đ6²⁺3**⇹¬5«+2⁵⇹3ȘĐ8≥Đ6²⁺3**⇹¬5«+1ᴇ⇹3ȘĐ2≥Đ6²⁺3**⇹¬5«+2⁵⇹3ȘĐ6≥Đ6²⁺3**⇹¬5«+2⁵⇹3Ș4≥Đ6²⁺3**⇹¬5«+1ᴇ9△ĐĐĐĐ1ᴇ↔⁻łŕ↔ŕŕŕŕŕŕáƇǰ

ব্যাখ্যা:

2                           Push 2 (this is how many 'cells' to make)
`     ... ł                 While the top of the stack is not zero, loop
↔                           Flip the stack (useless at the beginning, undoes the flip at the end of the loop)
←Đ4≥Đ6²⁺3**⇹¬5«+            Set top-left pip
2⁵⇹3Ș                       Space
Đ6≥Đ6²⁺3**⇹¬5«+             Set top-middle pip
2⁵⇹3Ș                       Space
Đ2≥Đ6²⁺3**⇹¬5«+             Set top-right pip
1ᴇ⇹3Ș                       New line
Đ8≥Đ6²⁺3**⇹¬5«+             Set middle-left pip
2⁵⇹3Ș                       Space
Đ2%Đ6²⁺3**⇹¬5«+             Set center pip
2⁵⇹3Ș                       Space
Đ8≥Đ6²⁺3**⇹¬5«+             Set middle-right pip
1ᴇ⇹3Ș                       New line
Đ2≥Đ6²⁺3**⇹¬5«+             Set bottom-left pip
2⁵⇹3Ș                       Space
Đ6≥Đ6²⁺3**⇹¬5«+             Set bottom-middle pip
2⁵⇹3Ș                       Space
4≥Đ6²⁺3**⇹¬5«+              Set bottom-right pip
1ᴇ                          New line
9△ĐĐĐĐ                      Add 5 dashes
1ᴇ                          New line
↔⁻ł                         Decrement counter (if >0, loop; otherwise, exit loop)
ŕ↔ŕŕŕŕŕŕ                    Remove all unnecessary items on the stack
áƇǰ                         Push stack to an array, get characters at unicode codepoints given by values in the array, join characters with empty string


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


0

05 এ বি 1 ই , 34 বাইট

•ΩõIº•R2ô¹2÷è¹È-bDg5s-ú.∞3ô»TR„ o‡

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


এটি কঠিন ছিল কারণ 05AB1E এর খারাপ প্যাডিং রয়েছে।


প্রাথমিক ব্যাখ্যা:

  • এখানে 4 টি উল্লেখযোগ্য নিদর্শন রয়েছে যা 2, 4, 6 এবং 8।
  • 3,5,7 এবং 9 অন্যান্য প্যাটার্নগুলি প্লাস 1।
  • প্রতিসাম্যের কারণে 1 টি তাত্পর্যপূর্ণ নয়, যদি ইনপুট সমান হয় তবে মাঝের বিটটি টগল করতে 1 কে বিয়োগ করুন।
  • এলএসবি টগলিং মিররিংয়ের কারণে মাঝের বিটটি উল্টাতে দেয়।

0

স্মাইলব্যাসিক, 92 69 বাইট

INPUT N,M
DEF Q?N>3;N>5;N>1?N>7;1AND N;N>7?N>1;N>5;N>3
END
Q?777N=M
Q

উদাহরণ:

? 7,2
111
010
111
777
001
000
100

আপনার নিয়মগুলি পর্যাপ্ত কঠোর না হলে এটি ঘটে।


0

মিথ্যা, 116 80 78 70 69 66 63 61 59 58 বাইট

[$3[>_$.\$]$p:!5p;!1p;!"
"7p;!%1&.."
"..."
"]$s:!"---
"s;!

এখনও এই উপর কাজ করে ...


0

চিপ ,142 135 বাইট

! CvDvB
>v-]-x.
|Z-]-]e
|Z]xe|
|ZR(-'
|Zx.AD
|Zxx]x.
|Zx^-]e
|Z<,(-.
|Zx]xe|
|Zx-]-]e
|Zx-]-x'
|Z<C^D^B
|>x~s
|Zx.
|Zx<
|Zxb
|Z+^~f
`zd

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

ইনপুট হল অঙ্কের একটি স্ট্রিং। পিপস হিসাবে জিরো ব্যবহার করে। একটি সংখ্যার জন্য পিপস আঁকুন, পরবর্তী ইনপুট বাইট পড়ুন। যদি পরবর্তী কোনও বাইট না হয় তবে শেষ করুন, অন্যথায় বিভাজকটি আঁকুন এবং শুরু করুন।

প্রতিটি Z(বা z) আউটপুটের একটি চরিত্রের সাথে মিলে যায়, তারা উপরে থেকে নীচে ক্রমে আগুনে অবস্থান করছে। মূলধন A, B, C, এবং Dইনপুট কম চার বিট মিলা (সমস্ত আমরা তাকান যে, তাই "34" == "CD" == "st" ...)। ছোট হাতের অক্ষর ব্যবহার b, d, e, fআউটপুট বিভিন্ন বিট মিলা।

অসীম দৈর্ঘ্যের ডোমিনোসও তৈরি করতে পারে; 0123456789ইনপুট হিসাবে দেওয়ার চেষ্টা করুন।



0

সি (জিসিসি) , 150 146 বাইট

p(b){printf(" %c",33-b);}P(a){p(a<4),p(a<6),p(a<2),p(23),p(a<8),p(~a&1),p(a<8),p(23),p(a<2),p(a<6),p(a<4),p(23);}f(a,b){P(a),puts(" -----"),P(b);}

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


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