একটি হাউন্ডস্টুথ প্যাটার্ন আঁকুন


22

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা দুটি ধনাত্মক পূর্ণসংখ্যার, একটি প্রস্থ এবং একটি উচ্চতায় নিয়ে যায় এবং এই 25 cell 26 টেক্সট গ্রিডটি বেস সেল হিসাবে ব্যবহার করে সেই মাত্রাগুলি সহ একটি ASCII আর্ট হ্যান্ডস্টুথ গ্রিড প্যাটার্ন আঁকবে :

.......#.....#####.......
.......##.....#####......
.......###.....#####.....
.......####.....####.....
.......#####.....###.....
.......######.....##.....
.......#######.....#.....
.......########..........
####################.....
.####################....
..####################...
...####################..
....####################.
.....####################
#.....##############.####
##.....#############..###
###....#############...##
####...#############....#
#####..#############.....
.#####.#############.....
..##################.....
........#####............
.........#####...........
..........#####..........
...........#####.........
............#####........

সুতরাং ইনপুট যদি 2,1আউটপুট হবে:

.......#.....#####..............#.....#####.......
.......##.....#####.............##.....#####......
.......###.....#####............###.....#####.....
.......####.....####............####.....####.....
.......#####.....###............#####.....###.....
.......######.....##............######.....##.....
.......#######.....#............#######.....#.....
.......########.................########..........
####################.....####################.....
.####################.....####################....
..####################.....####################...
...####################.....####################..
....####################.....####################.
.....####################.....####################
#.....##############.#####.....##############.####
##.....#############..#####.....#############..###
###....#############...#####....#############...##
####...#############....#####...#############....#
#####..#############.....#####..#############.....
.#####.#############......#####.#############.....
..##################.......##################.....
........#####....................#####............
.........#####....................#####...........
..........#####....................#####..........
...........#####....................#####.........
............#####....................#####........

এবং যদি ইনপুটটি 5,4আউটপুট হত:

.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
.......#.....#####..............#.....#####..............#.....#####..............#.....#####..............#.....#####.......
.......##.....#####.............##.....#####.............##.....#####.............##.....#####.............##.....#####......
.......###.....#####............###.....#####............###.....#####............###.....#####............###.....#####.....
.......####.....####............####.....####............####.....####............####.....####............####.....####.....
.......#####.....###............#####.....###............#####.....###............#####.....###............#####.....###.....
.......######.....##............######.....##............######.....##............######.....##............######.....##.....
.......#######.....#............#######.....#............#######.....#............#######.....#............#######.....#.....
.......########.................########.................########.................########.................########..........
####################.....####################.....####################.....####################.....####################.....
.####################.....####################.....####################.....####################.....####################....
..####################.....####################.....####################.....####################.....####################...
...####################.....####################.....####################.....####################.....####################..
....####################.....####################.....####################.....####################.....####################.
.....####################.....####################.....####################.....####################.....####################
#.....##############.#####.....##############.#####.....##############.#####.....##############.#####.....##############.####
##.....#############..#####.....#############..#####.....#############..#####.....#############..#####.....#############..###
###....#############...#####....#############...#####....#############...#####....#############...#####....#############...##
####...#############....#####...#############....#####...#############....#####...#############....#####...#############....#
#####..#############.....#####..#############.....#####..#############.....#####..#############.....#####..#############.....
.#####.#############......#####.#############......#####.#############......#####.#############......#####.#############.....
..##################.......##################.......##################.......##################.......##################.....
........#####....................#####....................#####....................#####....................#####............
.........#####....................#####....................#####....................#####....................#####...........
..........#####....................#####....................#####....................#####....................#####..........
...........#####....................#####....................#####....................#####....................#####.........
............#####....................#####....................#####....................#####....................#####........
  • প্রস্থের আর্গুমেন্টটি অবশ্যই প্রথমে আসতে হবে। কোন যুক্তিসঙ্গত ইনপুট ফর্ম্যাট (যেমন w,h, w h, (w, h)) জরিমানা।
  • একটি বিকল্প ilingচ্ছিক নতুন লাইনের সাহায্যে ফলাফলটি মুদ্রণ করুন বা প্রত্যাবর্তন করুন।
  • আপনি যে কোনো দুটি স্বতন্ত্র ব্যবহার করতে পারেন মুদ্রণযোগ্য হওয়া ASCII স্থানে অক্ষর .এবং #
  • আপনি বেস সেলটি উল্লম্ব বা অনুভূমিকভাবে অনুবাদ করতে পারেন, এটির পর্যায়ক্রমিক সীমানা শর্ত রয়েছে । সুতরাং আউটপুট উপরের বাম কোণে অগত্যা একটি 7 × 8 আয়তক্ষেত্র হতে হবে .। ( নতুন নিয়ম! )

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

বোনাস হিসাবে, এর পরিবর্তে একটি চিত্র তৈরি করুন যেখানে প্রতিটি .এক রঙের পিক্সেল এবং প্রতিটি #অন্য রঙের পিক্সেল।


কি ধরণের বোনাস? একটি বিস্কুট..? ;-)
জ্যাচ গেটস

4
আপনার "সংক্ষিপ্ততম কোড জয়" স্ক্রু করুন, আমি এটি বেফঞ্জ করছি!
এল'েন্ডিয়া স্টারম্যান

7
@ জাচগেটস সম্ভবত একটি কুকুর বিস্কুট।
ক্যালভিনের শখ

রোল জোয়ার যে!
গ্রেগ বেকন

উত্তর:


17

পাইথ, 61 60 55 49 বাইট

j*vwmjk*Qd++Rm012Jmms}k++Rhd5U-d4T=T13+Lm1T_mP_dJ

অনলাইনে চেষ্টা করুন: বিক্ষোভ

সম্পাদনা 1: ব্যান্ড এবং ত্রিভুজ উত্পন্ন দুটি বিবৃতি একত্রিত করুন (নীচে দেখুন)

সম্পাদনা 2: দেখেনি যে আমরা কোনও চিহ্ন ব্যবহার করতে পারি। 5 টি বাইট সম্পাদনা সংরক্ষণ করা হয়েছে

3 সম্পাদনা করুন: @ ক্যালভিনের শখগুলি বেস চিত্রটি অনুবাদ করার অনুমতি দিয়েছে। যেহেতু আমার দৃষ্টিভঙ্গি এই ধারণার উপর ভিত্তি করে ছিল, এটি এটি যথেষ্ট সাহায্য করেছিল। -6 বাইট

এবং কুকি বোনাসের জন্য :

.w*vw*RQ++Rm012Jmm*K255}k++Rhd5U-d4T=T13+LmKT_mP_dJ

এটি কেবল 2 বাইট দীর্ঘ (51 বাইট) এবং ফাইলটি উত্পন্ন করে o.png । ইনপুট করতে 5\n4নিম্নোক্ত ছবি উত্পন্ন:

হাউন্ডস্টুথ প্যাটার্ন

ব্যাখ্যা:

হাউন্ডস্টুথ প্যাটার্নটি দেখতে বেশ অনিয়মিত looks তবে যদি আমরা ডানদিকে বাম 7 টি কলাম এবং শীর্ষ 5 সারি বোতামে নিয়ে যাই তবে আমরা অনেক সুন্দর প্যাটার্ন পাই:

.#####...................
..#####..................
...#####.................
....#####................
.....#####...............
#.....#####..............
##.....#####.............
###.....#####............
####.....####............
#####.....###............
######.....##............
#######.....#............
########.................
#############.....#######
##############.....######
###############.....#####
################.....####
#################.....###
##################.....##
#############.#####.....#
#############..#####.....
#############...#####....
#############....#####...
#############.....#####..
#############......#####.
#############.......#####

প্রথমে আমি শীর্ষে বাম 13x13 ব্লক উত্পাদন করছি:

.#####.......
..#####......
...#####.....
....#####....
.....#####...
#.....#####..
##.....#####.
###.....#####
####.....####
#####.....###
######.....##
#######.....#
########.....

দুটি সাধারণ অসমতা রয়েছে যা দুটি- #আয়ারকে বর্ণনা করে । ব্যান্ডটি দ্বারা বর্ণিত হতে পারে y + 1 <= x <= y + 5এবং ত্রিভুজ দ্বারা বর্ণিত হতে পারেx <= y - 5 । আমি এই দুটি শর্ত একত্রিত:

Jmms}k++Rhd5U-d4T=T13
                 =T13   T = 13
 m               T      map each d of [0, 1, ..., 12] to: 
                           the list produced by
  m             T          map each k of [0, 1, ..., 12] to:
       +Rhd5                  the list [d+1, d+2, ..., d+5]
      +                       extended by 
            U-d4              the list [0, 1, ..., d - 5]
    }k                        test if k is in the list
   s                          and convert the boolean result to 1 or 0
J                       assign this 13x13 block to J

তারপরে +Rm012উপরের 25x13 ব্লকটি পেতে প্রতিটি সারির শেষে 12 জিরো যুক্ত করুন।

নীচের 25x13 ব্লকটি এখন সত্যিই সহজ:

+Lm1T_mP_dJ
      m   J    map each row d of J to:
       P_d        reverse the row and pop the last element
     _         reverse the order the rows
+Lm1T          add T ones at the beginning of each row. 

এখন সমস্ত বাকি প্যাটার্নটি পুনরাবৃত্তি করে মুদ্রণ করা

j*vwmjk*Qd+upperlower   implicit: Q = first input number
          +upperlower   combine the two blocks to a 25x26 block
    m                   map each row d to:
       *Qd                 repeat d Q times
     jk                    and join to a string
 *vw                    read another number from input and repeat
j                       join by newlines and print

কুকি বোনাস কোডের মধ্যে পার্থক্য :

  • 255 পরিবর্তে 1
  • পরিবর্তে mjk*Qdআমি ব্যবহার করি *RQ, যেহেতু আমি স্ট্রিং চাই না
  • .w এই 2 ডি-অ্যারেটিকে ফাইলে সংরক্ষণ করে (এটিকে প্রকৃতপক্ষে পিএনজে রূপান্তর করে)

5
কল্পিত ব্যাখ্যা!
ট্রাইকোপল্যাক্স

আপনার স্পষ্টভাবে "নীচে 5 টি সারি" বোঝানো হয়েছে, এটি কেবল একটি টাইপো। আমি কেন বুঝতে পারছি না যে আমার মন্তব্য পদক্ষেপ না নিয়েই মুছে ফেলা হয়েছে। ফলস্বরূপ আমি এখন নিজের পোস্টে গিয়ে সম্পাদনা করতে লজ্জা পাচ্ছি। সব মিলিয়ে একটি খুব ভাল উত্তর এবং একটি দুর্দান্ত ব্যাখ্যা। আমি এর আগে ইতিমধ্যে এটি উত্সাহিত করেছি
স্তর

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

11

সিজেম, 106 73 71 বাইট

0000000: 71 7e 22 04 94 51 af 40 6e 73 b2 68 3a e1 7e 13 f2 a1  q~"..Q.@ns.h:.~...
0000012: 3e 1d de f5 64 9c 6b 0f 27 4c 36 d7 81 3d 30 35 56 f8  >...d.k.'L6..=05V.
0000024: cd e8 cd 7c dc 90 31 59 40 8b 8c 22 32 35 36 62 32 32  ...|..1Y@.."256b22
0000036: 62 41 73 33 39 2a 2e 2a 73 32 35 2f 2a 66 2a 4e 2a     bAs39*.*s25/*f*N*

মুদ্রণ 1এবং 0পরিবর্তে .এবং #। অনলাইনে এটি ব্যবহার করে দেখুনসিজেএম ইন্টারপ্রেটারে

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

q~      e# Read and evaluate all input. This pushes W and H.
"…"     e# Push an encoding of run lengths of the characters in the output.
256b22b e# Convert from base 256 to base 22.
As39*   e# Push "10" and repeat it 39 times.
.*      e# Vectorized character repetition; multiply each base 22 digit (run
        e# length) by the corresponding character of "10…10".
s25/    e# Flatten and split into chunks of length 25.
*       e# Repeat the resulting array of rows H times.
f*      e# Repeat each row W times.
N*      e# Join the rows, separating by linefeeds.

কুকি বোনাস

0000000: 27 50 6f 31 70 71 7e 5d 5f 5b 32 35 5f 29 5d 2e 2a 5c  'Po1pq~]_[25_)].*\
0000012: 7e 22 04 94 51 af 40 6e 73 b2 68 3a e1 7e 13 f2 a1 3e  ~"..Q.@ns.h:.~...>
0000024: 1d de f5 64 9c 6b 0f 27 4c 36 d7 81 3d 30 35 56 f8 cd  ...d.k.'L6..=05V..
0000036: e8 cd 7c dc 90 31 59 40 8b 8c 22 32 35 36 62 32 32 62  ..|..1Y@.."256b22b
0000048: 41 73 33 39 2a 2e 2a 73 32 35 2f 2a 66 2a 73 2b 4e 2a  As39*.*s25/*f*s+N*

ASCII আর্টের পরিবর্তে একটি পোর্টেবল বিটম্যাপ প্রিন্ট করে।

নীচে ইনপুট জন্য আউটপুট দেওয়া হয়েছে 24 13, পিএনজিতে রূপান্তরিত:

আউটপুট


7

বেফুঞ্জ -৩৩ , 2120 1967 বাইট

ডিবাগিংয়ের জন্য ব্যতিক্রম-হ্যান্ডলিং সহ এখানে কিছু উচ্চমানের বেফঞ্জ রয়েছে!

&&00p10pv
v       <
    >94+2*20p        v
>00g|   >                v
    @                >10g>0020gv-1:<
                               >:0`|
                     ,       v    $<
                     +        >v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v
 v_$1-:#^_$20g1-20p55^       >|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>"!DAB"....@
 ,:
 >^".......#.....#####......."                                                    <
  ^".......##.....#####......"                                                  <
  ^".......###.....#####....."                                                <
  ^".......####.....####....."                                              <
  ^".......#####.....###....."                                            <
  ^".......######.....##....."                                          <
  ^".......#######.....#....."                                        <
  ^".......########.........."                                      <
  ^"####################....."                                    <
  ^".####################...."                                  <
  ^"..####################..."                                <
  ^"...####################.."                              <
  ^"....####################."                            <
  ^".....####################"                          <
  ^"#.....##############.####"                        <
  ^"##.....#############..###"                      <
  ^"###....#############...##"                    <
  ^"####...#############....#"                  <
  ^"#####..#############....."                <
  ^".#####.#############....."              <
  ^"..##################....."            <
  ^"........#####............"          <
  ^".........#####..........."        <
  ^"..........#####.........."      <
  ^"...........#####........."    <
  ^"............#####........"  <
^                     p00-1g00<

(স্পষ্টতই, এটি এখনও খুব গল্ভযোগ্য I আমি এখনই এখানে একটি উত্তর পেতে চেয়েছিলাম)

সুতরাং, এটি বিভিন্ন অংশ গঠিত।

&&00p10p

এটি কেবলমাত্র আরম্ভকারী, এটি মানগুলি গ্রহণ করে এবং সেগুলি সংরক্ষণ করে

    >94+2*20p
>00g|      > 
    @  

এই বিভাগটি সারি গণনাটিকে পুনরায় সেট করে, তাই আমরা পাশাপাশি অন্য একটি (প্রস্থ) ছবি মুদ্রণ করতে পারি। 94+2*সারি সংখ্যা 26, গণনা করা হচ্ছে। এছাড়াও, উচ্চতা শূন্য হলে প্রোগ্রামটি শেষ হয়ে যাবে।

>10g

এটি স্ট্যাকের প্রস্থ পায় তাই আমরা জানি যে কয়টি প্রিন্ট করতে হয়

0020gv-1:<
     >:0`|
         $

এটি কখন আমরা কোনও অপারেশন শেষ করেছি এবং পাশাপাশি কোন সারি (এন) এ আছি তা জানাতে স্ট্যাকের সাথে দুটি ডামি মান যুক্ত করে। এরপরে স্ট্যাকটিতে n টি মান যুক্ত হয়

>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v>v
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>"!DAB"....@

                                                    <
                                                  <
                                                <
                                              <
                                            <
                                          <
                                        <
                                      <
                                    <
                                  <
                                <
                              <
                            <
                          <
                        <
                      <
                    <
                  <
                <
              <
            <
          <
        <
      <
    <
  <
<

এটি একটি নিয়ন্ত্রণ বিভাগ যা (26-n) সারিতে যাবে। এটি আমি কীভাবে এটি করতে পারি তা বোঝার সহজতম উপায়।

".......#.....#####......."
".......##.....#####......"
".......###.....#####....."
".......####.....####....."
".......#####.....###....."
".......######.....##....."
".......#######.....#....."
".......########.........."
"####################....."
".####################...."
"..####################..."
"...####################.."
"....####################."
".....####################"
"#.....##############.####"
"##.....#############..###"
"###....#############...##"
"####...#############....#"
"#####..#############....."
".#####.#############....."
"..##################....."
"........#####............"
".........#####..........."
"..........#####.........."
"...........#####........."
"............#####........"

এটি অবশ্যই স্পষ্টতই পঠিত এবং যা সারিটি স্ট্যাকের উপরে পড়ছে তা পিছনের দিকে পপ করবে। এর অর্থ আমরা যখন এটি পপ করব, এটি সঠিকভাবে মুদ্রণ করবে।

v_
,:
>^

স্ট্যাকটি 0 টি আঘাত না করা পর্যন্ত এটি মুদ্রণ করবে, যা আমরা আগে রেখেছিলাম।

1-:#^_

এটি মুদ্রণের জন্য নির্দিষ্ট লাইনটির সংখ্যার 1 টি নেয়, তারপরে এটি শূন্য কিনা তা পরীক্ষা করে। যদি এটি শূন্য নয় তবে আমরা কোডের চতুর্থ ব্লকে ফিরে যাই।

          ,
          +
20g1-20p55^

এটি সারি (n) থেকে 1 টি বিয়োগ করে একটি নতুন লাইন প্রিন্ট করে এবং 3 টি ব্লকে ফিরে যায়

p00-1g00

সমস্ত সারি একবার মুদ্রিত হয়ে গেলে, এটি প্রাথমিক উচ্চতা থেকে একটিকে বিয়োগ করে আবার ব্লক 2 এ চলে যায়।

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

2120 -> 1967 : প্রচুর অপচয় হওয়া জায়গাগুলি সহ কয়েকটি লাইন ছাঁটাইয়াছিল


1
আমি এটি গল্ফ। আপনার উত্তরটি বিশেষভাবে নয়, তবে আমি বেফুঞ্জে একটি সমাধান গল্ফ করেছি!
এল'েন্ডিয়া স্টারম্যান

6

পার্ল, 243

( -nস্টিডিন থেকে ইনপুট আনতে স্যুইচটিতে একটি বাইট যুক্ত করা হয়েছে ))

($w,$h)=split;for(1..$h){print((sprintf("%025b",hex)x$w).$/)foreach qw(20f80 307c0 383e0 3c1e0 3e0e0 3f060 3f820 3fc00 1ffffe0 fffff0 7ffff8 3ffffc 1ffffe fffff 107ffef 183ffe7 1c3ffe3 1e3ffe1 1f3ffe0 fbffe0 7fffe0 1f000 f800 7c00 3e00 1f00)}

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

উদাহরণ:

ইনপুট:

3 2

আউটপুট:

000000010000011111000000000000001000001111100000000000000100000111110000000
000000011000001111100000000000001100000111110000000000000110000011111000000
000000011100000111110000000000001110000011111000000000000111000001111100000
000000011110000011110000000000001111000001111000000000000111100000111100000
000000011111000001110000000000001111100000111000000000000111110000011100000
000000011111100000110000000000001111110000011000000000000111111000001100000
000000011111110000010000000000001111111000001000000000000111111100000100000
000000011111111000000000000000001111111100000000000000000111111110000000000
111111111111111111110000011111111111111111111000001111111111111111111100000
011111111111111111111000001111111111111111111100000111111111111111111110000
001111111111111111111100000111111111111111111110000011111111111111111111000
000111111111111111111110000011111111111111111111000001111111111111111111100
000011111111111111111111000001111111111111111111100000111111111111111111110
000001111111111111111111100000111111111111111111110000011111111111111111111
100000111111111111110111110000011111111111111011111000001111111111111101111
110000011111111111110011111000001111111111111001111100000111111111111100111
111000011111111111110001111100001111111111111000111110000111111111111100011
111100011111111111110000111110001111111111111000011111000111111111111100001
111110011111111111110000011111001111111111111000001111100111111111111100000
011111011111111111110000001111101111111111111000000111110111111111111100000
001111111111111111110000000111111111111111111000000011111111111111111100000
000000001111100000000000000000000111110000000000000000000011111000000000000
000000000111110000000000000000000011111000000000000000000001111100000000000
000000000011111000000000000000000001111100000000000000000000111110000000000
000000000001111100000000000000000000111110000000000000000000011111000000000
000000000000111110000000000000000000011111000000000000000000001111100000000
000000010000011111000000000000001000001111100000000000000100000111110000000
000000011000001111100000000000001100000111110000000000000110000011111000000
000000011100000111110000000000001110000011111000000000000111000001111100000
000000011110000011110000000000001111000001111000000000000111100000111100000
000000011111000001110000000000001111100000111000000000000111110000011100000
000000011111100000110000000000001111110000011000000000000111111000001100000
000000011111110000010000000000001111111000001000000000000111111100000100000
000000011111111000000000000000001111111100000000000000000111111110000000000
111111111111111111110000011111111111111111111000001111111111111111111100000
011111111111111111111000001111111111111111111100000111111111111111111110000
001111111111111111111100000111111111111111111110000011111111111111111111000
000111111111111111111110000011111111111111111111000001111111111111111111100
000011111111111111111111000001111111111111111111100000111111111111111111110
000001111111111111111111100000111111111111111111110000011111111111111111111
100000111111111111110111110000011111111111111011111000001111111111111101111
110000011111111111110011111000001111111111111001111100000111111111111100111
111000011111111111110001111100001111111111111000111110000111111111111100011
111100011111111111110000111110001111111111111000011111000111111111111100001
111110011111111111110000011111001111111111111000001111100111111111111100000
011111011111111111110000001111101111111111111000000111110111111111111100000
001111111111111111110000000111111111111111111000000011111111111111111100000
000000001111100000000000000000000111110000000000000000000011111000000000000
000000000111110000000000000000000011111000000000000000000001111100000000000
000000000011111000000000000000000001111100000000000000000000111110000000000
000000000001111100000000000000000000111110000000000000000000011111000000000
000000000000111110000000000000000000011111000000000000000000001111100000000

3

রেভ 1, সি, 118 115 বাইট

i,x,y;f(w,h){for(i=26*h*(w*=25);i--;i%w||puts(""))x=i%25,y=i/w%26,putchar(((y>x^y>x+5^x>y+4)&y/13==x/13^y/13)+34);}

9 টি বাইট সংরক্ষণ করা হয়েছে নতুন নিয়মের ফলে কক্ষটি অনুবাদ করার অনুমতি। 3 বাইট ব্যবহার দ্বারা সংরক্ষণ করা w*=25। বাকি পোস্ট অপরিবর্তিত রয়েছে।

রেভ 0, সি, 127 বাইট

i,x,y;f(w,h){for(i=650*w*h;i--;i%(25*w)||puts(""))x=(i+20)%25,y=(i/25/w+8)%26,putchar(((y>x^y>x+5^x>y+4)&y/13==x/13^y/13)+34);}

এটি অক্ষরগুলির মধ্য দিয়ে যায়, একে একে একে মুদ্রণ করে। i%(25*w)||puts("")প্রতিটি লাইনের শেষে একটি নতুন লাইন সন্নিবেশ করানো হয়।

আমার ডিজাইনটি দেখার পদ্ধতিটি জাকুবের মতো, তবে নীচের দিকে শীর্ষ 8 টি সারি এবং বামদিকে 5 টি ডান কলামগুলি বাম দিকে নিয়ে আসছি যাতে নীচের ভিউটি পাওয়া যায়। প্রোগ্রামে এই পদক্ষেপটি x এবং y এর দ্বারা প্রকাশিত +20এবং এর +8মধ্যে "বিপরীত" হয় ।

"""""####################
#"""""###################
##"""""##################
###"""""#################
####"""""################
#####"""""###############
"#####"""""##############
""#####"""""#############
"""#####""""#############
""""#####"""#############
"""""#####""#############
""""""#####"#############
"""""""##################
"""""""""""""#####"""""""
""""""""""""""#####""""""
"""""""""""""""#####"""""
""""""""""""""""#####""""
"""""""""""""""""#####"""
""""""""""""#"""""#####""
""""""""""""##"""""#####"
""""""""""""###"""""#####
""""""""""""####"""""####
""""""""""""#####"""""###
""""""""""""######"""""##
""""""""""""#######"""""#
""""""""""""########"""""

"রঙের বিপর্যয়" ছাড়াও এটি দেখতে খুব সাদৃশ্যপূর্ণ হতে পারে তবে একটি গুরুত্বপূর্ণ পার্থক্য রয়েছে: তির্যক স্ট্রাইপগুলি মিলে যায়। (নোট করুন যে মূল নকশায় 25x26 পরিমাপ করা হওয়ায় তির্যক প্রতিসাম্য নেই))

এক্সপ্রেশন ((y>x^y>x+5^x>y+4)^y/13)+34নিম্নলিখিতটি উত্পাদন করে, যেখানে বিভিন্ন তুলনা অপারেটরগুলি স্ট্রাইপগুলি উত্পাদন ^y/13করে, "রঙ ফ্লিপ" অর্ধেক উপায়ে উত্পন্ন করে এবং +34ফলস্বরূপ সংখ্যাটি গ্রহণ করে 0,1এবং এএসসিআইআই ব্যাপ্তিতে বাড়িয়ে তোলে 34,35

"""""####################
#"""""###################
##"""""##################
###"""""#################
####"""""################
#####"""""###############
"#####"""""##############
""#####"""""#############
"""#####"""""############
""""#####"""""###########
"""""#####"""""##########
""""""#####"""""#########
"""""""#####"""""########
########"""""#####"""""""
#########"""""#####""""""
##########"""""#####"""""
###########"""""#####""""
############"""""#####"""
#############"""""#####""
##############"""""#####"
###############"""""#####
################"""""####
#################"""""###
##################"""""##
###################"""""#
####################"""""

এই শব্দটি &y/13==x/13উপরের ডান এবং নীচে বাম কোয়ার্টারে মিথ্যা = 0 এ মূল্যায়ন করে, পূর্বে দেখানো মত ধরণের বর্গক্ষেত্রের অংশ উত্পাদন করে producing মনে রাখবেন যে প্রোগ্রামটি ডাউনকাউন্টস হিসাবে, x = y = 0 এর মূলটি নীচে ডানদিকে রয়েছে। বর্গক্ষেত্রটি #13 টি অক্ষর প্রশস্ত এবং বর্গক্ষেত্রটি "কেবল 12 টি অক্ষর প্রস্থের কারণে এটি সহজ।


2

বেফুঞ্জ -93, 968 বাইট

হ্যাঁ এটা ঠিক! একটি প্রতিযোগী বেফুঞ্জ উত্তর!

&:&\00p10p:520pv:g00p02<v  <
    #   p1*45-1_v#:" "  <  v
    |`-1*65:g02$<      ,
    >:" "\39*\p:" "\47 *v
+:"<"\39*\p:"v"\47*\p25^>\p 1
".......#.....#####......."<v
".......##.....#####......"
".......###.....#####....."
".......####.....####....."
".......#####.....###....."
".......######.....##....."
".......#######.....#....."
".......########.........."
"####################....."
".####################...."
"..####################..."
"...####################.."
"....####################."
".....####################"
"#.....##############.####"
"##.....#############..###"
"###....#############...##"
"####...#############....#"
"#####..#############....."
".#####.#############....."
"..##################....."
"........#####............"
".........#####..........."
"..........#####.........."
"...........#####........."
"............#####........"
,,,,,,,,,,,,,,,,,,,,,,,,,  v>
    > 10g1-:10p #v_@
 " " \47*\p5:"<"v>:" "\39*\ p
\*74 \"v":p\*93\<      v,*5 2p

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

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