চারটি স্প্রিলিং অ্যাক্সেস


9

নম্বরগুলি ধরুন 0, 1, 2, 3, 4, ...এবং নীচের দিকে শুরু করে একটি পৃথক বর্গক্ষেত্রে প্রতিটি অঙ্ক লিখুন clock

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

উদাহরণস্বরূপ, নীচে পার্টওয়ে পর্যন্ত সজ্জিত সর্পিলটি রয়েছে 29। ধরুন আমরা u / d / l / rপ্রতিনিধিত্ব করে আমাদের চারটি অক্ষরের জন্য ব্যবহার করি up / down / left / right। তারপরে, uইনপুট হিসাবে প্রদত্ত , আমরা আউটপুট 0, 5, 1, 4 ...(ধনাত্মক y- অক্ষ) পর্যন্ত পর্ব পর্যন্ত n। আমরা পরিবর্তে দেওয়া ছিল lইনপুট হিসাবে, তাহলে এটি হবে 0, 3, 1, 1 ...আপ nতম পরিভাষা।

  2---3---2---4---2---5---2
  |                       |
  2   1---3---1---4---1   6
  |   |               |   |
  2   2   4---5---6   5   2
  |   |   |       |   |   |
  1   1   3   0   7   1   7
  |   |   |   |   |   |   |
  2   1   2---1   8   6   2
  |   |           |   |   |
  0   1---0---1---9   1   8
  |                   |   |
  2---9---1---8---1---7   2

এগুলি ওইআইএসের ক্রম:

উদাহরণ

d 19
[0, 1, 1, 8, 3, 7, 6, 2, 1, 5, 1, 1, 6, 2, 2, 1, 3, 4, 0]

r 72
[0, 7, 1, 7, 4, 2, 8, 1, 1, 3, 1, 2, 0, 2, 3, 1, 3, 4, 6, 5, 5, 5, 7, 7, 8, 8, 9, 6, 8, 1, 1, 1, 2, 3, 1, 8, 0, 6, 1, 7, 0, 9, 2, 8, 4, 3, 2, 1, 1, 7, 2, 6, 2, 1, 3, 3, 5, 5, 3, 2, 2, 0, 4, 3, 2, 5, 4, 6, 5, 0, 5, 1]

u 1
[0]

বিধি

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

আমরা কয়েক দফা জন্য নেতিবাচক পূর্ণসংখ্যার নিতে পারি?
mbomb007

@ mbomb007 অবশ্যই, ঠিক আছে।
অ্যাডমবর্কবর্ক

খুব ব্যবহারিক বলে মনে হচ্ছে না, তবে আমরা কী পূর্ণসংখ্যাটি ফিরিয়ে আনতে পারি যা প্রয়োজনীয় অঙ্কগুলি অগ্রণী শূন্য ছাড়া (যা যাইহোক বোঝানো হবে) বাদে?
এরিক আউটগলফার

@ অ্যাডমবর্কবার্ক মূলত আমার মনে এই জাতীয় সমাধান নেই, কেবল জিজ্ঞাসা করার কথা ভেবেছিলেন। :)
এরিক আউটগল্ফার

আউটপুট দ্বারা একটি চ্যালেঞ্জ বিচার করা হয়। সুতরাং যদি শূন্যটি অন্তর্ভুক্ত না করা হয়, তবে আমি মনে করি এটি ভুল হবে, কারণ আপনি যদি শূন্যটি আউটপুটের জন্য বাদ না দেন তবে আপনি এটি ভুল বলে গণ্য করতেন। পাইথন নেতৃস্থানীয় শূন্যগুলির সাথে পূর্ণসংখ্যা আউটপুট করতে পারে, তবে অন্য ভাষা কেন নয়।
mbomb007

উত্তর:


5

পাইথন 2 , 94 89 84 83 74 72 70 বাইট

আমি ওল্ফ্রামআল্ফাকে ব্যবহার করেছি এবং নির্ধারণ করেছি যে 5 n > 4n 2 + 3n এর উপরের সীমাটি যথেষ্ট বলে মনে হচ্ছে। এটি বিনা ব্যয়ে 9 এন এ পরিবর্তন করা যেতে পারে । আরও বড় ইনপুট চেষ্টা 9*n*nকরার জন্য 5**n, স্মৃতিশক্তি ফুরিয়ে যাওয়া এড়াতে পরিবর্তে ব্যবহার করুন ।

lambda d,n:["".join(map(str,range(5**n)))[x*(4*x+d)]for x in range(n)]

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

দিকনির্দেশগুলির ইনপুটগুলি হ'ল:

  • 3: ডান
  • -3: নিচে
  • -1 টি বাকি
  • 1 উপরে

সংরক্ষিত 14 ধন্যবাদ বাইট ডান্ডা
সংরক্ষিত 2 বাইট ধন্যবাদ জনাথন অ্যালান


1

এমএটিএল , 32 বাইট

tE1YLtn:qVXzw)3Lt3$)iX!w:qyfYm+)

ইনপুটটি হ'ল n, aযেখানে aঅক্ষটি প্রতিনিধিত্ব করে:

  • 0: বাম;
  • 1: up;
  • 2: ঠিক;
  • 3: নিচে।

আউটপুট একটি স্ট্রিং।

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন


1

জেলি ,  19  18 বাইট

ব্যবহার 5 এন থেকে কৌতুক mbomb007 এর পাইথন উত্তর

4,0jḅɗ@€ị5*D€FʋṖ0;

একটি ডায়াডিক লিঙ্ক nবাম দিকে নিয়ে dএবং এর থেকে পূর্ণসংখ্যা:[-3,-1,1,3]:[v,<,^,>]

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

একটি 20 বাইট বিকল্প যা উভয়ই দ্রুত এবং এ জাতীয় ছোট এন এর জন্য সেগফল্ট হয় না:

²×5D€ƲFị@4,0jḅɗ@€Ṗ0;

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

কিভাবে?

4,0jḅɗ@€ị5*D€FʋṖ0; - Link: integer, n; integer, d
     ɗ@€           - last three links as a dyad with sw@pped arguments for €ach (of implicit range [1,n])
4,0                -   literal list [4,0]
   j               -   join with d = [4,d,0]
    ḅ              -   convert from base n = 4*n^2+d*n+0
        ị          - index into...
              ʋ    - last four links as a monad:
         5         -   five
          *        -   exponentiate = 5^n
           D€      -   decimal list of each (in implicit range [1,5^n])
            F      -   flatten into a single list of the digits
               Ṗ   - pop (drop the final element)
                0; - prepend a zero

1

যথেষ্ট এন (যেমন +1000) এর জন্য কাজ করবে

জাভাস্ক্রিপ্ট (নোড.জেএস) , 104 বাইট

f=(d,n)=>--n?[...f(d,n),C(n*(4*n+d))]:[0]
C=(n,N=i=0)=>n>N?C(n-N,(p=10**i)*9*++i):+((p+--n/i|0)+"")[n%i]

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

ব্যাখ্যা

  • 3: ডান
  • -3: ডাউন (-৩ মন্তব্য অনুসারে বৈধ)
  • -1 টি বাকি
  • 1: আপ (@ এমবম্ব 700 এর মত)

চ্যাম্পারনউয়ের ধ্রুবকের গৌতম অঙ্ক

________________________________________________________

কম দক্ষ পদ্ধতি (1000+ এর জন্য কাজ করবে না)

জাভাস্ক্রিপ্ট (নোড.জেএস) , 81 বাইট

f=(d,n)=>eval(`for(r=[],s=i=I="";I<n;)(s+=i++)[u=I*(4*I+d)]&&r.push(s[I++,u]),r`)

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


0

স্ট্যাক্স , 13 বাইট

â╞ê←τ"(]]⌐┘?N

এটি চালান এবং এটি ডিবাগ করুন

এটি দিকের সাথে ইনপুট নেয়, তারপরে গণনা অনুসরণ করে। ঠিক আছে, আপ, হয় বাম, এবং নিচে 1, 3, 5, এবং 7যথাক্রমে। প্রদত্ত তিনটি পরীক্ষার কেস চালাতে পুরো মিনিট সময় লাগে।

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