চতুর্ভুজ ক্রম থেকে বৈধ শব্দ?


10

আপনাকে চারটি নম্বর দেওয়া হয়েছে। অনুক্রমের জন্য প্রথম তিনটি যথাক্রমে একটি , এবং :

Tn=একটিএন2+ +এন+ +

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

এটি কোড গল্ফ, তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর ins আপনার প্রোগ্রামটি যে কোনও ইনপুট জন্য কাজ করবে যেখানে সংখ্যাটি negative বা ধনাত্মক (বা 0), দশমিক বা পূর্ণসংখ্যা। সমস্যা এড়াতে এবং কিছু জটিলতা বজায় রাখতে, অ-পূর্ণসংখ্যার সর্বদা কেবল মধ্যে শেষ হয় । স্ট্যান্ডার্ড লুপ-গর্তগুলি অনুমোদিত নয়।একটি,,,টিএন.5

পরীক্ষার মামলা

a   |b   |c   |T_n |Y/N
------------------------
1   |1   |1   |1   |Y     #n=0
2   |3   |5   |2   |N
0.5 |1   |-2  |-0.5|Y     #n=1
0.5 |1   |-2  |15.5|Y     #n=5
0.5 |1   |-2  |3   |N     
-3.5|2   |-6  |-934|Y     #n=-16
0   |1   |4   |7   |Y     #n=3
0   |3   |-1  |7   |N
0   |0   |0   |1   |N
0   |0   |6   |6   |Y     #n=<anything>
4   |8   |5   |2   |N

উত্তর:


4

জেলি ,  11  10 বাইট

_/Ær1Ẹ?%1Ạ

একটি মোনাডিক লিঙ্ক যা তালিকার একটি তালিকা গ্রহণ করে * [[c, b, a], [T_n]]এবং 0যদি T_nবৈধ সমাধান হয় বা 1না হয় তবে ফলন করে ।

* স্বীকার করে "আপনি যে কোনও উপায়ে এই চারটি সংখ্যার ইনপুট নিতে পারেন" এর সাথে সামান্য স্বাধীনতা গ্রহণ করছেন।

এটি অনলাইন চেষ্টা করুন! অথবা একটি পরীক্ষা-স্যুট দেখুন

কিভাবে?

_/Ær1Ẹ?%1Ạ - Link: list of lists of integers, [[c, b, a], [T_n]]
 /         - reduce by:
_          -   subtraction                    [c-T_n, b, a]
      ?    - if...
     Ẹ     - ...condition: any?
  Ær       - ...then: roots of polynomial     i.e. roots of a²x+bx+(c-T_n)=0
    1      - ...else: literal 1
       %1  - modulo 1 (vectorises)            i.e. for each: keep any fractional part
           -                                       note: (a+bi)%1 yields nan which is truthy
         Ạ - all?                             i.e. all had fractional parts?
           -                                       note: all([]) yields 1

যদি আমরা অ-স্বতন্ত্র ফলাফল পেতে পারি তবে _/Ær1Ẹ?ḞƑƇএটি 10 ​​এর জন্যও কাজ করবে ( 1যখন ফল পাওয়া যায় যখন সমস্ত মানগুলি সমাধান হয়, অন্যথায় স্বতন্ত্র সমাধানের তালিকা এবং অতএব সর্বদা খালি তালিকা থাকে যখন কোনও সমাধান হয় না - এটি স্ট্যান্ডি বনাম ফ্যালসি সংজ্ঞাও পূরণ করতে পারে )


2
যে ইনপুট পুরোপুরি ঠিক আছে।
আর্টেমিস

6

জাভাস্ক্রিপ্ট (ES7), 70 বাইট

একটি বুলিয়ান মান প্রদান করে।

(a,b,c,t)=>(t-=c,(a*=2)?(x=(b*b+2*a*t)**.5-b)%a&&(x+b+b)%a:b?t%b:t)==0

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

কিভাবে?

স্পষ্টতার স্বার্থে, আমরা =টিএন- সংজ্ঞায়িত করি । (এই পরিবর্তনটিকে জেএস কোডে সংরক্ষণ করতে একই পরিবর্তনশীল টি আবার ব্যবহার করা হয়))

কেস একটি0

সমীকরণটি আসলে চতুর্ভুজ:

টিএন=একটিএন2+ +এন+ +একটিএন2+ +এন-=0

একটি'=2একটি

Δ=2+ +2একটি'

এবং শিকড়গুলি হল:

এন0=--Δএকটি'এন1=-+ +Δএকটি'

Δ

--Δ0(গেলিক ভাষারএকটি') অথবা -+ +Δ0(গেলিক ভাষারএকটি')

একটি=0,0

সমীকরণটি লিনিয়ার:

টিএন=এন+ +এন=এন=

0(গেলিক ভাষার)

একটি=0,=0

এন

টিএন==0


1

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

Æ©²Āi²4P³n+tÐdi(‚³-IJ·Ä%P}뮳Āi³%]_

@ আর্নল্ডের জাভাস্ক্রিপ্টের উত্তরটির পোর্ট , সুতরাং তাকে উর্ধ্বমুখী করা নিশ্চিত করুন!

[টি,],একটি,

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

ব্যাখ্যা:

Æ                         # Reduce the (implicit) input-list by subtraction (`t-c`)
 ©                        # Store this value in the register (without popping)
  ²Āi                     # If the second input `a` is not 0:
     ²4P                  #  Calculate `(t-c)*a*4`
        ³n+               #  Add the third input `b` squared to it: `(t-c)*a*4+b*b`
           t              #  Take the square-root of that
                          #  (NOTE: 05AB1E and JS behave differently for square-roots of
                          #   negative integers; JS produces NaN, whereas 05AB1E leaves the
                          #   integer unchanged, which is why we have the `di...}` here)
            Ð             #  Triplicate this square
             di           #  If the square is non-negative (>= 0):
               (‚         #   Pair it with its negative
                 ³-       #   Subtract the third input `b` from each
                   Ä      #   Take the absolute value of both
                    ²·Ä%  #   Modulo the absolute value of `a` doubled
                          #   (NOTE: 05AB1E and JS behave differently for negative modulos,
                          #    which is why we have the two `Ä` here)
                        P #   Then multiply both by taking the product
              }           #  And close the inner if-statement
    ë                     # Else (`a` is 0):
     ®                    #  Push the `t-c` from the register
      ³Āi                 #  If the third input `b` is not 0:
         ³%               #   Take modulo `b`
    ]                     # Close both if-else statements
     _                    # And check if the result is 0
                          # (which is output implicitly)

চান Ųকিছু বাইট সংরক্ষণ করবেন? (সম্ভবত আমাদের যেহেতু পরে স্কোয়ার রুট গণনা করা প্রয়োজন সম্ভবত নয়))
আরনাউল্ড

@ আর্নল্ড দুর্ভাগ্যক্রমে তিনটি কারণে নয়: ১। Ų নেতিবাচক মানগুলির সাথে একরকম মান নিজেই দেয় 0.. ২ Ųদশমিক মান সহ (এমনকি .0) তারা বর্গক্ষেত্র না হয় 0পরিবর্তে দেয় 1(এটি একটি বাগ যা আমি করব আদনানকে রিপোর্ট করুন)। 3. এমনকি যদি উভয় কাজ করেছি হবে এবং -4.0স্থাপিত হবে 0পরিবর্তে -4.0এবং 4.0স্থাপিত হবে 1পরিবর্তে 0, এটা এখনও +2 বাইট যেহেতু আমরা স্কয়ার রুট প্রয়োজন এবং তৃতীয়ক বিচ্ছিন্ন হবে সদৃশ হবে: tÐdiবনাম DŲitD; বা বর্তমানে DÄïŲitDউল্লিখিত অন্য দুটি সমস্যা সমাধানের জন্য।
কেভিন ক্রুইজসেন

1
এছাড়াও, Ųনেতিবাচক ইনপুটগুলির ফলাফলগুলি বেমানান
আর্নৌল্ড

@ আর্নল্ড ওয়ার্থ .. এটি সত্যই অদ্ভুত। এবং উত্তরাধিকার সংস্করণটি এমনকি একটি বিস্মৃত ফলাফল হিসাবে একটি আলাদা দেয় .. : এস আমি 05AB1E চ্যাটে আপনার পরীক্ষার টিআইও সহ আদনানের কাছে রিপোর্ট করেছি।
কেভিন ক্রুইজসেন 12


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