চতুষ্কোণীয় অবশিষ্টাংশ এত মজা!


13

সংজ্ঞা

চতুষ্কোণ অবশিষ্টাংশ

একটি পূর্ণসংখ্যার r কে চতুষ্কোণীয় অবশেষ মডুলো n যদি কোনও পূর্ণসংখ্যার x মতো থাকে:

x2r(modn)

দ্বিঘাত তলানি সেট মডিউল কেবল ফল দিকে তাকিয়ে নির্ণিত করা যেতে পারে জন্য 0 \ Le এক্স \ Le \ lfloor N / 2 \ rfloornx2modn0xn/2

চ্যালেঞ্জ ক্রম

আমরা an সংখ্যার নূন্যতম সংখ্যার সংখ্যার হিসাবে চিহ্নিত করেছি (r0r1+n)modn সমস্ত জোড়ার জন্য (r0,r1) চতুর্ভুজীয় অবশিষ্টাংশের মডুলো n

প্রথম 30 টি শর্তগুলি হ'ল:

1,2,1,1,1,2,2,1,1,2,3,1,3,4,1,1,4,2,5,1,2,6,6,1,2,6,2,2,7,2

এটি A316975 (নিজে জমা দেওয়া)।

উদাহরণ: n=10

চতুষ্কোণীয় অবশিষ্টাংশগুলি হল 10 , 0 , 1 , 4 , 5 , 6 এবং 9

এই (r0,r1) অবশিষ্টাংশগুলির প্রতিটি জোড়ার জন্য (r_0, r_1) , আমরা গণনা করব (r0r1+10)mod10 , যা নীচের টেবিলের দিকে নিয়ে যায় (যেখানে r0 বামদিকে এবং r1 শীর্ষে রয়েছে):

014569009654111076524430985554109666521079985430

উপরের সারণীতে একই মানের সংখ্যার সর্বনিম্ন সংখ্যা ( , , এবং )। অতএব ।22378a10=2

তোমার কাজ

  • আপনি হয়:

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

9
ওইআইএস-এ প্রকাশিত একটি সিকোয়েন্স পাওয়ার গ্রাটস!
অ্যাডমবর্কবার্ক

ধন্যবাদ অ্যাডমবার্কবার্ক :) (প্রকৃতপক্ষে, আমি সাধারণত একটি ওইআইএস ক্রম পোস্ট করা এড়ানো একটি চ্যালেঞ্জ হিসাবে মনে করি না, তবে আমি অনুমান করি যে
এটির

6
না +nভিতরে (...)mod nকোনো প্রভাব আছে? যদি এটি খুব অদ্ভুত যে সংজ্ঞা অংশ।
জোনাথন অ্যালান

3
@ জোনাথন অ্যালান আসলে, আমি সিকোয়েন্সের খসড়া সংস্করণে অনুরূপ মন্তব্য করেছি এবং এটি সরিয়ে দেওয়ার পরামর্শ দিয়েছি। তবে আমি কোনও স্পষ্ট sensকমত্য পাইনি এবং সে সম্পর্কে আমি কোনও প্রতিক্রিয়াও পাইনি। (এবং আমি অন্যান্য সিকোয়েন্সগুলি এর সাথে দেখেছি বলে (some_potentially_negative_value + n) mod nমনে করি)) আমি মনে করি এটি প্রোগ্রামিং চ্যালেঞ্জের মধ্যে রাখাই ভাল, যদিও ফলাফলের চিহ্নটি ভাষার উপর নির্ভর করে
আর্নল্ড

1
আমি সাফল্য ছাড়াই সরাসরি সূত্র সন্ধান করার চেষ্টা করেছি। ক্রমটি গুণক এবং প্রাইমের উপর এটি সমান a_p = round(p/4), যা আমাদের সমস্ত স্কোয়ারফ্রি সংখ্যার জন্য মান দেয়। তবে পরিস্থিতি প্রাইমসের শক্তিতে জটিল বলে মনে হচ্ছে এবং 3 মড 4 এবং 1 মড 4 কেস পৃথকভাবে পরিচালনা করা দরকার।
xnor

উত্তর:


5

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

:UG\u&-G\8#uX<

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

ব্যাখ্যা

:      % Implicit input. Range
U      % Square, element-wise
G      % Push input again
\      % Modulo, element-wise
u      % Unique elements
&-     % Table of pair-wise differences
G      % Push input
\      % Modulo, element-wise
8#u    % Number of occurrences of each element
X<     % Minimum. Implicit display

4

জাপট -g , 22 20 বাইট

চ্যালেঞ্জটি আসলে কী ছিল তা খুঁজে বের করতে খুব দীর্ঘ সময় ব্যয় করেছেন, আরও গল্ফিংয়ের জন্য সময় অতিবাহিত হয়েছে: \

nঅনুক্রমের মধ্যে th পদটি আউটপুট করে । ইনপুট দিলে লড়াই শুরু হয় >900

õ_²uUÃâ ïÍmuU
£è¥XÃn

এটি চেষ্টা করুন বা 0-50 এর জন্য ফলাফলগুলি পরীক্ষা করুন


ব্যাখ্যা

                  :Implicit input of integer U
õ                 :Range [1,U]
 _                :Map
  ²               :  Square
   uU             :  Modulo U
     Ã            :End map
      â           :Deduplicate
        ï         :Cartesian product of the resulting array with itself
         Í        :Reduce each pair by subtraction
          m       :Map
           uU     :  Absolute value of modulo U
\n                :Reassign to U
£                 :Map each X
 è                :  Count the elements in U that are
  ¥X              :   Equal to X
    Ã             :End map
     n            :Sort
                  :Implicitly output the first element in the array

4

জেলি ,  13  10 বাইট

-1 ডেনিসকে ধন্যবাদ (শীর্ষস্থানীয় দিয়ে ডায়াডিক ব্যাখ্যা জোর করে ð)
-2 আরও ডেনিসকে ধন্যবাদ (যেহেতু জোড়গুলি ডি-ডুপ্লিকেটযুক্ত হতে পারে আমরা একটি Rএবং একটি এড়াতে পারি 2)

ðp²%QI%ĠẈṂ

একটি মোনাডিক লিঙ্কটি ইতিবাচক পূর্ণসংখ্যাকে গ্রহণ করে যা একটি অ-নেতিবাচক পূর্ণসংখ্যা দেয়।

এটি অনলাইন চেষ্টা করুন! অথবা প্রথম 50 টি পদ দেখুন

কিভাবে?

ðp²%QI%ĠẈṂ - Link: integer, n                   e.g. 6
ð          - start a new dyadic chain - i.e. f(Left=n, Right=n)
 p         - Cartesian product of (implicit ranges)  [[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[2,1],[2,2],[2,3],[2,4],[2,5],[2,6],[3,1],[3,2],[3,3],[3,4],[3,5],[3,6],[4,1],[4,2],[4,3],[4,4],[4,5],[4,6],[5,1],[5,2],[5,3],[5,4],[5,5],[5,6],[6,1],[6,2],[6,3],[6,4],[6,5],[6,6]]
  ²        - square (vectorises)                     [[1,1],[1,4],[1,9],[1,16],[1,25],[1,36],[4,1],[4,4],[4,9],[4,16],[4,25],[4,36],[9,1],[9,4],[9,9],[9,16],[9,25],[9,36],[16,1],[16,4],[16,9],[16,16],[16,25],[16,36],[25,1],[25,4],[25,9],[25,16],[25,25],[25,36],[36,1],[36,4],[36,9],[36,16],[36,25],[36,36]]
   %       - modulo (by Right) (vectorises)          [[1,1],[1,4],[1,3],[1,4],[1,1],[1,0],[4,1],[4,4],[4,3],[4,4],[4,1],[4,0],[3,1],[3,4],[3,3],[3,4],[3,1],[3,0],[4,1],[4,4],[4,3],[4,4],[4,1],[4,0],[1,1],[1,4],[1,3],[1,4],[1,1],[1,0],[0,1],[0,4],[0,3],[0,4],[0,1],[0,0]]
    Q      - de-duplicate                            [[1,1],[1,4],[1,3],[1,0],[4,1],[4,4],[4,3],[4,0],[3,1],[3,4],[3,3],[3,0],[0,1],[0,4],[0,3],[0,0]]
     I     - incremental differences (vectorises)    [0,3,2,-1,-3,0,-1,-4,-2,1,0,-3,1,4,3,0]
      %    - modulo (by Right) (vectorises)          [0,3,2,5,3,0,5,2,4,1,0,3,1,4,3,0]
       Ġ   - group indices by value                  [[1,6,11,16],[10,13],[3,8],[2,5,12,15],[9,14],[4,7]]
        Ẉ  - length of each                          [3,2,2,4,2,2]
         Ṃ - minimum                                 2

3

05 এ বি 1 ই , 22 20 15 13 বাইট

LnI%êãÆI%D.m¢

-২ বাইটস @ মিঃ কে ধন্যবাদ Xcoder

এটি অনলাইনে চেষ্টা করুন বা প্রথম 99 টি পরীক্ষার কেস যাচাই করুন (প্রায় 3 সেকেন্ডের মধ্যে) । (দ্রষ্টব্য: পাইথন উত্তরাধিকার সংস্করণটি নতুন এলিক্সির পুনরায় লেখার পরিবর্তে টিআইওতে ব্যবহৃত হয়েছে It's এটি প্রায় 10x দ্রুত, তবে একটি অনুবর্তন ¬(মাথা) প্রয়োজন কারণ .mআমি ফুটারে যুক্ত করেছি এমন একটি আইটেমের পরিবর্তে একটি তালিকা ফিরে আসে))

ব্যাখ্যা:

L       # Create a list in the range [1, (implicit) input]
 n      # Square each
  I%    # And then modulo each with the input
    ê   # Sort and uniquify the result (faster than just uniquify apparently)
 ã      # Create pairs (cartesian product with itself)
  Æ     # Get the differences between each pair
   I%   # And then modulo each with the input
D.m     # Take the least frequent number (numbers in the legacy version)
   ¢    # Take the count it (or all the numbers in the legacy version, which are all the same)
        # (and output it implicitly)

Ýns%ÙãÆI%D.m¢। (উত্তরাধিকার হিসাবে নয়, নতুন সংস্করণে নেই)
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার আহ, আমি ..> এর পরিবর্তে ব্যবহার করার মতো বোকা, এবং এলিক্সির পুনরায় লেখায় অভিনীতকে আলাদাভাবে ãজানতাম না .m। আমার মূলত নতুন সংস্করণ ছিল, তবে আমি ¥কাজ করছি না তা লক্ষ্য করার পরে উত্তরাধিকারের দিকে চলে গেলাম (যা আপনি এটি দিয়ে স্থির করেছেন Æ)। টিআইও-তে আমি এখনও উত্তরাধিকারটি ব্যবহার করি, কারণ এই চ্যালেঞ্জের পক্ষে এটি দ্রুততর।
কেভিন ক্রুইজসেন

3

সি (জিসিসি) , 202 200 190 188 187 186 বাইট

  • সংরক্ষিত দুই বারো চৌদ্দ থেকে পনের বাইট ধন্যবাদ ceilingcat
  • একটি বাইট সংরক্ষণ করা।
Q(u,a){int*d,*r,A[u],t,i[a=u],*c=i,k;for(;a--;k||(*c++=a*a%u))for(k=a[A]=0,r=i;r<c;)k+=a*a%u==*r++;for(r=c;i-r--;)for(d=i;d<c;++A[(u+*r-*d++)%u]);for(t=*A;++a<u;t=k&&k<t?k:t)k=A[a];u=t;}

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


নিবন্ধন করুন অন্য কোনও পূর্ণসংখ্যার ঘোষণা করা আসলে অন্য একটি বাইট সংরক্ষণ করতে দেয়।
জোনাথন ফ্রেচ

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


1

কে (এনএনজি / কে) , 29 বাইট

{&/#:'=,/x!r-\:r:?x!i*i:!x}

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

{ } যুক্তি দিয়ে ফাংশন x

!xথেকে পূর্ণসংখ্যার 0থেকেx-1

i: ধার্য i

x! গেলিক ভাষার x

? অনন্য

r: ধার্য r

-\: প্রতিটি বাম থেকে বিয়োগ

r-\:r সমস্ত পার্থক্য ম্যাট্রিক্স

x! গেলিক ভাষার x

,/ ম্যাট্রিক্সের সারিগুলিকে একত্রিত করুন

= গোষ্ঠী, উপস্থিতি সূচকগুলির তালিকায় অনন্য মান থেকে একটি অভিধান প্রদান করে

#:' অভিধানে প্রতিটি মান দৈর্ঘ্য

&/ সর্বনিম্ন




1

এপিএল (ডায়ালগ ইউনিকোড) , 28 24 বাইট

{⌊/⊢∘≢⌸∊⍵|∘.-⍨∪⍵|×⍨⍳⍵+1}

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

উপসর্গ সরাসরি ফাংশন। ব্যবহার ⎕IO←0

গরুকে 4 টি বাইটের জন্য ধন্যবাদ!

কিভাবে:

{⌊/⊢∘≢⌸∊⍵|∘.-⍨∪⍵|×⍨⍳⍵+1}  Dfn, argument 

                   ⍳⍵+1  Range [0..⍵]
                 ×⍨      Squared
               ⍵|        Modulo 
                        Unique
          ∘.-⍨           Pairwise subtraction table
       ∊⍵|               Modulo ⍵, flattened
                        Key; groups indices (in its ⍵) of values (in its ⍺).
   ⊢∘≢                   Tally (≢) the indices. This returns the number of occurrences of each element.
 ⌊/                       Floor reduction; returns the smallest number.

1
ছোট বাইট 2*⍨×⍨r←¨⊂r∘.-⍨{≢⍵}⊢∘≢
শেভিংসের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.