আমার অটোডায়লার প্রোগ্রাম করুন


16

আগের দিন, টেলিফোন অটোডায়োলাররা ডায়াল করার জন্য প্রতিটি অঙ্কের জন্য একটি কলামযুক্ত পাঞ্চ কার্ড ব্যবহার করেছিল। কলামগুলিতে সাতটি সারি ছিল। প্রথম তিনটি সারি যথাক্রমে (1,2,3), (4,5,6) এবং (7,8,9) সংখ্যা উপস্থাপন করে। শেষ তিনটি সারি 90% ((1,4,7), (2,5,8), এবং (3,6,9) দ্বারা এই ব্যবস্থাটি ঘোরেছে। মাঝারি সারিটি 0 এর জন্য ব্যবহৃত হয়েছিল। যে কোনও অঙ্কের 1-9 এ দুটি ছিদ্র থাকে - প্রথম তিনটি সারিতে একটি এবং নীচে তিনটি সারিতে একটি। জিরোতে কেবল মাঝারি সারিটি খোঁচা দেওয়া হবে। আসুন 6 সংখ্যার জন্য খোঁচা কলামটি কল্পনা করুন ( .আনপঞ্চ করা হয়েছে, খোঁচা দেওয়া হয়েছে, xবাম দিকে গাইডটি কেবল এনকোডিং চিত্রিত করার জন্য):

123 .
456 x
789 .
 0  .
147 .
258 .
369 x

আমরা যে সারিতে (গুলি) নম্বরটি ডায়াল করার চেষ্টা করছি সেটিকে আমরা সন্ধান করি। 6 এর জন্য এটি দ্বিতীয় সারি এবং নবম সারি। এই দুটি সারি খোঁচা হয়, বাকি পাঁচটি সারি আনপঞ্চ করা হয় ched এখানে সমস্ত অঙ্কের পাঞ্চযুক্ত নিদর্শনগুলি 0-9:

    0 1 2 3 4 5 6 7 8 9
123 . x x x . . . . . .
456 . . . . x x x . . .
789 . . . . . . . x x x
 0  x . . . . . . . . .
147 . x . . x . . x . .
258 . . x . . x . . x .
369 . . . x . . x . . x

আপনার লক্ষ্য আমার জন্য এই কার্ডগুলি ঘুষি (একটি প্রোগ্রাম লিখুন বা এতে ফাংশন) write

ইনপুট: যেকোন যুক্তিসঙ্গত বিন্যাসে (স্ট্রিং, পূর্ণসংখ্যা, পূর্ণসংখ্যার তালিকা এবং সি।) নেওয়া number৯৯৯৯৯৯৯৯৯৯৯৯ এর বেশি না হওয়া একটি নম্বর।

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

এটি কোড-গল্ফ, তাই সংক্ষিপ্ততম কোড জয়ী। স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।

পরীক্ষার কেসগুলি ( .খোঁচা ফেলার জন্য সমস্ত ব্যবহার বন্ধ করা হয় x):

In: 911
Out: .xx
     ...
     x..
     ...
     .xx
     ...
     x..

In: 8675309
Out: ....x..
     .x.x...
     x.x...x
     .....x.
     ..x....
     x..x...
     .x..x.x

In: 5553226
Out: ...xxx.
     xxx...x
     .......
     .......
     .......
     xxx.xx.
     ...x..x

2
প্রশ্নটি সমাধানের জন্য সম্পূর্ণ অপ্রয়োজনীয়, তবে এই কার্ডগুলি / ডিভাইসগুলির একটি ঝরঝরে ছোট্ট গ্যালারী রয়েছে
brhfl

আপনি পাঞ্চের জন্য কোনও অক্ষর এবং আনপঞ্চ না করার জন্য অন্য কোনও অক্ষর ব্যবহার করতে পারেন আপনার অর্থ কোনও অ-সাদা অংশের অক্ষর?
এরিক আউটগল্ফার

হ্যাঁ, আমি অনুমান করি যেহেতু সাদা জায়গার অনুমতি অন্য কোথাও দেওয়া হয়েছে। আর দেখতে পারা হবার জন্য। ধন্যবাদ, ধন্যবাদ।
brhfl

1
দুর্দান্ত চ্যালেঞ্জ ... একটি ফরট্রান answer write উত্তর লিখতে
প্ররোচিত

@Qwr "ফোর্টরানে গল্ফ করার টিপস" পোস্টটি নির্দ্বিধায় নির্ধারণ করুন।
mbomb007

উত্তর:



3

পাইথ, 25 বাইট

.tm?djNmX*3NkZ.Dtd3X*7N3Z

খোঁচা 0জন্য এবং "আনপঞ্চ জন্য ব্যবহার করে ।
এখানে চেষ্টা করুন

ব্যাখ্যা

.tm?djNmX*3NkZ.Dtd3X*7N3Z
  m                      Q  For each number in the (implicit) input...
   ?d                       ... if the number is nonzero...
              .Dtd3         ... get (n - 1) divmod 3...
       mX*3NkZ              ... replace each position in `"""` with `0`...
     jN                     ... and stick them together with `"`. ...
                   X*7N3Z   ... Otherwise, `"""0"""`.
.t                          Transpose the result.

3

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

পূর্ণসংখ্যার অ্যারের হিসাবে ইনপুট নেয়। 0 = আনপঞ্চ / 1 = পাঞ্চযুক্ত বাইনারি ম্যাট্রিক্স প্রদান করে s

a=>[14,112,896,1,146,292,584].map(n=>a.map(i=>n>>i&1))

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


3

05 এ বি 1 ই , 16 15 বাইট

0 এবং 1 ব্যবহার করে ।

ε9ÝÀ3ôD¨ø«¢O}ø»

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

ব্যাখ্যা

ε           }     # apply to each digit in input                
 9Ý               # push the range [0 ... 9]
   À              # rotate left
    3ô            # split into pieces of 3
      D¨          # duplicate and remove the last digit (0)
        ø         # transpose
         «        # append
          ¢O      # sum the counts of each in the current digit     
             ø    # transpose
              »   # format output



2

পাইথন 3 , 84 80 বাইট

def f(s):[print(*[int(i in[~-n//3,6--n%3-3*(n<1)])for n in s])for i in range(7)]

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


আপনার পঞ্চম এবং ষষ্ঠ সারিগুলির সাথে কিছু চমত্কার মনে হচ্ছে (সেগুলি উল্টে গেছে বলে মনে হচ্ছে)। [1,2,3] উদাহরণস্বরূপ নীচে একটি তির্যক রেখা তৈরি করা উচিত।
brhfl

@ BRhfl আমাকে বলার জন্য ধন্যবাদ, এটি ঠিক করেছেন
ovs

2

সি (ঝনঝন) , 108 107 বাইট

c,i;f(*q){char*r;for(i=~0;i++<6;puts(""))for(r=q;c=*r++;c-=48,putchar(".X"[(c--?16<<c%3|1<<c/3:8)>>i&1]));}

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

স্ট্রিং হিসাবে ইনপুট নম্বর নেয়। আউটপুট প্রিন্ট করে.Xউদাহরণ এবং হিসাবে ।

ক্রেডিট

-1 বাইট ধন্যবাদ কেবলমাত্র ASCII- কে


1
107 , এবং সরানো শিরোলেখ অন্যথায় আপনাকে শিরোনামটি বাইটোকন্টে অন্তর্ভুক্ত করতে হবে
এএসসিআইআই-

আপনি কি দয়া করে আমাকে সাধারণ usকমত্যের দিকে নির্দেশ করতে পারেন যে শিরোনামের অন্তর্ভুক্তিগুলি ফাংশন সমাধানগুলিতে (সম্পূর্ণ প্রোগ্রাম নয়) বাইট গণনার জন্য গণনা করা দরকার
GPS

1 , 2 , 3
ASCII-

সুপারিশ putchar(".X"[(c--?16<<c%3|1<<c/3:8)>>i&1]))c-=48পরিবর্তেc-=48,putchar(".X"[(c--?16<<c%3|1<<c/3:8)>>i&1]))
ceilingcat

2

জে , 31 20 বাইট

-11 বাইট ধন্যবাদ ফ্রাউনফ্রোগের জন্য!

(e."1],0,|:)1+i.@3 3

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

জে , 31 বাইট

1*@|:@:#.(a,0,|:a=.1+i.3 3)=/~]

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

অঙ্কের তালিকা হিসাবে ইনপুট নেয়

0 - আনপঞ্চ না করা, 1 - খোঁচা দেওয়া

ব্যাখ্যা:

   a=.1+i.3 3 - generates the matrix and stores it into a
1 2 3
4 5 6
7 8 9

   (a,0,|:a=.1+i.3 3) - generates the entire comparison table 
1 2 3
4 5 6
7 8 9
0 0 0
1 4 7
2 5 8
3 6 9

   ]=/ - creates an equality table between the input and the comparison table

 ((a,0,|:a=.1+i.3 3)=/~]) 9 1 1
0 0 0
0 0 0
0 0 1
0 0 0
0 0 0
0 0 0
0 0 1

1 0 0
0 0 0
0 0 0
0 0 0
1 0 0
0 0 0
0 0 0

1 0 0
0 0 0
0 0 0
0 0 0
1 0 0
0 0 0
0 0 0

  1*@|:@:#. - adds the tables, transposes the resulting table and finds the magnitude

  (1*@|:@:#.(a,0,|:a=.1+i.3 3)=/~])  9 1 1
0 1 1
0 0 0
1 0 0
0 0 0
0 1 1
0 0 0
1 0 0

নিবন্ধন করুন তুমি বরাবরের মতো উজ্জ্বল!
গ্যালেন ইভানোভ



1

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

E⁴⭆θI⁼ι÷﹪⊖λχ³E³⭆θI∧Iλ¬﹪⁻⊖λι³

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। 0/1 ব্যবহার করে তবে 1 বাইট ব্যয়ে নির্বিচারে চরিত্রগুলি সমর্থন করতে পারে: এটি অনলাইনে চেষ্টা করুন! । ব্যাখ্যা:

E⁴              Loop from 0 to 3
  ⭆θ            Loop over input string and join
           λ     Current character
         ⊖      Cast to integer and decrement
        ﹪  χ    Modulo predefined variable 10 (changes -1 to 9)
       ÷    ³   Integer divide by literal 3
     ⁼ι         Compare to outer loop variable
    I           Cast to string
                Implicitly print each outer result on a separate line

E³              Loop from 0 to 2
  ⭆θ            Loop over input string and join
            λ   Current character
           ⊖    Cast to integer and decrement
          ⁻  ι  Subtract outer loop variable
         ﹪    ³ Modulo by literal 3
        ¬       Logical not
       λ        Inner loop character
      I         Cast to integer
     ∧          Logical and
    I           Cast to string
                Implicitly print each outer result on a separate line

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