গ্রহণযোগ্য ক্রমগুলির জন্য পরীক্ষা করা


13

এক্সিকিউটিভ সংক্ষিপ্তসার: পূর্ণসংখ্যার ইনপুট অনুক্রমটি "গ্রহণযোগ্য" কিনা তা পরীক্ষা করুন, এর অর্থ এটি কোনও মডিউলাসের জন্য সমস্ত অবশিষ্ট শ্রেণিগুলি কভার করে না।

"গ্রহণযোগ্য" ক্রম কী?

একটি পূর্ণসংখ্যা মি 2 Give দেওয়া, অবশিষ্ট ক্লাসগুলির মডুলো মি সাধারণ পার্থক্য মি এর সম্ভাব্য গাণিতিক অগ্রগতি মাত্র এম। উদাহরণস্বরূপ, যখন মি = 4, 4 টি অবশিষ্টাংশ ক্লাস মডুলো 4 হয়

..., -8, -4, 0, 4, 8, 12, ...
..., -7, -3, 1, 5, 9, 13, ...
..., -6, -2, 2, 6, 10, 14, ...
..., -5, -1, 3, 7, 11, 15, ...

Kth অবশিষ্টাংশ শ্রেণিতে সমস্ত পূর্ণসংখ্যার সমন্বয়ে গঠিত হয় যার মি ভাগ করে কে এর সমান ভাগ করে। (যতক্ষণ না কেউ নেতিবাচক পূর্ণসংখ্যার জন্য "অবশিষ্ট "টিকে সঠিকভাবে সংজ্ঞায়িত করে)

পূর্ণসংখ্যার a1, a2, ..., ak এর ক্রমটি মেনে নেওয়া যায় মডুলো মি, যদি এটি অবশিষ্টাংশের কমপক্ষে একটির বর্গকে ছেদ করতে ব্যর্থ হয়। উদাহরণস্বরূপ, {0, 1, 2, 3} এবং {-4, 5, 14, 23} হয় না গ্রাহ্য মডিউল 4, কিন্তু {0, 1, 2, 4} এবং {0, 1, 5, 9} এবং {0, 1, 2, -3} হয় গ্রাহ্য মডিউল 4. এছাড়াও, {0, 1, 2, 3, 4} হয় না গ্রাহ্য মডিউল 4, যখন {0, 1, 2} হয় গ্রাহ্য মডিউল 4।

অবশেষে, প্রতিটি পূর্ণসংখ্যার এম ≥ 2 এর জন্য মাননীয় মডুলো মি হলে পূর্ণসংখ্যার একটি ক্রম কেবল গ্রহণযোগ্য

চ্যালেঞ্জ

একটি প্রোগ্রাম বা ফাংশন লিখুন যা ইনপুট হিসাবে পূর্ণসংখ্যার ক্রম নেয় এবং সিকোয়েন্সটি গ্রহণযোগ্য না হলে একটি (ধারাবাহিক) সত্যবাদী মান এবং সিকোয়েন্সটি গ্রহণযোগ্য না হলে একটি (ধারাবাহিক) মিথ্যা মান প্রদান করে।

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

সাধারন স্কোরিং: বাইটে, সংক্ষিপ্ত উত্তর ins

নমুনা ইনপুট

নিম্নলিখিত ইনপুট অনুক্রম প্রতিটি প্রতিটি সত্যবাদী মান দেওয়া উচিত:

0 2
-1 1
-100 -200
0 2 6
0 2 6 8
0 2 6 8 12
0 4 6 10 12
-60 0 60 120 180
0 2 6 8 12 26
11 13 17 19 23 29 31
-11 -13 -17 -19 -23 -29 -31

নিম্নলিখিত ইনপুট সিকোয়েন্সগুলির প্রত্যেককে একটি মিথ্যা মান দেওয়া উচিত:

0 1
-1 4
-100 -201
0 2 4
0 2 6 10
0 2 6 8 14
7 11 13 17 19 23 29
-60 0 60 120 180 240 300

পরামর্শ

  • নোট করুন যে 3 বা তারও কম সংখ্যার কোনও ক্রম স্বয়ংক্রিয়ভাবে গ্রহণযোগ্য মডুলো 4 More আরও সাধারণভাবে, দৈর্ঘ্যের k এর একটি সিকোয়েন্স স্বয়ংক্রিয়ভাবে গ্রহণযোগ্য মডুলো মি হয় যখন এম> কে। এটি অনুসরণ করে যে গ্রহণযোগ্যতার জন্য পরীক্ষার জন্য কেবলমাত্র মিটারের একটি সীমাবদ্ধ সংখ্যা পরীক্ষা করা দরকার।
  • এটিও নোট করুন যে 2টি 4 ভাগ করে, এবং যে কোনও ক্রম যা মেনে নেওয়া যায় মডিউল 2 2 (এটি, সমস্ত এমনকি বা সমস্ত বিজোড়) স্বয়ংক্রিয়ভাবে গ্রহণযোগ্য মডুলো 4 More আরও সাধারণভাবে, যদি এম বিভাজক হয় এবং একটি অনুক্রমটি গ্রহণযোগ্য মডুলো মি হয় তবে তা হয় স্বয়ংক্রিয়ভাবে গ্রহণযোগ্য মডুলো এন। স্বীকৃতিযোগ্যতা যাচাই করতে, আপনি যদি চান তবে কেবল প্রাইম মি বিবেচনা করা যথেষ্ট।
  • যদি a1, a2, ..., ak একটি গ্রহণযোগ্য ক্রম হয়, তবে a1 + c, a2 + c, ..., ak + c যেকোন পূর্ণসংখ্যা সি (ধনাত্মক বা negativeণাত্মক) এর জন্যও গ্রহণযোগ্য।

গাণিতিক প্রাসঙ্গিকতা (readingচ্ছিক পড়া)

A1, a2, ..., a কে পূর্ণসংখ্যার ক্রম হতে দিন। মনে করুন যে এখানে অনেকগুলি পূর্ণসংখ্যা রয়েছে যেমন এন + এ 1, এন + এ 2, ..., এন + আক সবগুলি প্রধান। তাহলে এ 1, এ 2, ..., আক দেখানো সহজ must প্রকৃতপক্ষে, ধরুন যে a1, a2, ..., আক স্বীকৃত নয়, এবং আমি এমকে এমন একটি সংখ্যা হিসাবে ধরা যাক যে এ 1, এ 2, ..., আক মেনে নেওয়া যায় না মডুলো এম। তারপরেও আমরা এন কে কী বেছে নিই না কেন, n + a1, n + a2, ..., n + ak অবশ্যই একাধিক মিটার হতে হবে, তাই প্রধান হতে পারে না।

প্রধানমন্ত্রী K-tuples অনুমান এই বিবৃতি, যা এখনও সংখ্যা তত্ত্ব একটি খোলা সমস্যা বিপরীত: এটি asserts যে যদি A1, A2, ..., AK একটি গ্রাহ্য ক্রম (বা K-tuple ), তারপর সেখানে অসীম অনেকগুলি পূর্ণসংখ্যার এন হওয়া উচিত যেমন এন + এ 1, এন + এ 2, ..., এন + আক সবগুলি প্রধান। উদাহরণস্বরূপ, মাননীয় ক্রম 0, 2 এ বিবৃতি দেয় যে অনেকগুলি পূর্ণসংখ্যক এন এবং এন + 2 উভয়ই প্রধান হওয়া উচিত, এটি দ্বৈত প্রাইম অনুমান (এখনও অপ্রকাশিত)।


3
[_60:0:60:120:180]আমাকে সত্য দিচ্ছে; প্রকৃতপক্ষে এটা করে না যে অন্তত এক বর্গ ছেদ mথেকে 2থেকে 5সমেত; উপরন্তু, প্রতিটি একমাত্র বর্গ ছেদ করে mথেকে 2থেকে 5সমেত।
লিকি নুন

1
আমার কাছে @ -60, 0, 60, 120, 180] @ লিকিউন হিসাবে এটি একইভাবে গ্রহণযোগ্য হবে।
কার্ল ন্যাপফ

-60 0 60 120 180 240 300প্রতিটি অবশিষ্ট শ্রেনী মডুলু 7 ছেদ করে, সুতরাং এটি গ্রহণযোগ্য নয়।
গ্রেগ মার্টিন

আমরা কি আরও দীর্ঘ টেস্টকেস পেতে পারি?
লিকি নুন

@ ল্যাকিয়ুনুন: যে কোনও মিটারের জন্য, মিটার থেকে বড় মাপের প্রথম প্রাইমগুলি গ্রহণযোগ্য ক্রম তৈরি করে। (দ্বিতীয় থেকে শেষ সত্যের পরীক্ষার কেসটি এম = 7 দিয়ে এর একটি উদাহরণ।) মিথ্যা পরীক্ষার কেসগুলি পূর্ণসংখ্য 1, ..., মি, কে ≤ এম নির্বাচন করে এবং এর এলোমেলো গুণগুলি যোগ করে জেনারেট করা যেতে পারে) যে কোনও বা সমস্ত শুরুর পূর্ণসংখ্যার 1, ..., মি।
গ্রেগ মার্টিন

উত্তর:



7

ব্র্যাচল্যাগ , 25 24 19 বাইট

কার্ল নেপফকে 5 বাইট ধন্যবাদ

lybb '(eM-yA,?: [এম] জেড:% আওদা) 
l: 2' (ইএম-ওয়াই,?: [এম] জেড:% আওদা)
ঠ: 2 ​​'(ইএমজি: rz:% adlM)

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

সমস্ত টেস্টকেস যাচাই করুন!

l:2'(eMg:?rz:%adlM)
l:2                  Temp = [2:length(input)]
   '(             )  true if the following cannot be proven:
     eM                  M is an element of the interval
                         indicated by Temp, i.e. from 2
                         to the length of input inclusive,
       g:?rz:%adlM       every element of input modulo M
                         de-duplicated has length M.

4

পাইথন, 61 60 বাইট

q=lambda l,d=2:d>len(l)or q(l,d+1)&(len({v%d for v in l})<d)

আইডোনে সমস্ত পরীক্ষার কেস

সম্পাদনা করুন: লজিকাল এবং বিটওয়াইস এবং একটি বাইট সংরক্ষণ করার জন্য প্রতিস্থাপন


2

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

a=>a.every((_,i)=>!i++|new Set(a.map(e=>(e%i+i)%i)).size<i)

@ কার্লনেপফের অবশিষ্টাংশের কৌশল ব্যবহার করুন।


1
ঠিক আছে, এটি কোনও কৌশল নয়, কেবল গণিত ;-)
কার্ল ন্যাপ্ফ

2

পাইথন, 67 64 বাইট

নামবিহীন ল্যাম্বদা হিসাবে:

lambda N:all(len({i%m for i in N})<m for m in range(2,len(N)+1))
  • সম্পাদনা 1: এর সাথে প্রতিস্থাপন set()করা হয়েছে{}
  • সম্পাদনা 2: জেনারেটরের আশেপাশে বর্গাকার বন্ধনীগুলির প্রয়োজন নেই all(...)
  • সম্পাদনা 3: জোনাথন অ্যালান দ্বারা চিহ্নিত হিসাবে range, আপ যেতে হবেlen(N)+1

ফাংশন হিসাবে পুরানো কোড (96 বাইট):

def f(N):
 for m in range(2,len(N)+1):
    if len(set(i%m for i in N))==m:return False
 return True

1
এর মাধ্যমে আমি আপনাকে আপনার পদ্ধতির জন্য ক্রেডিট দেব যা আমাকে 5 বাইট সংরক্ষণ করেছিল।
লিকি নুন

নিবন্ধন করুন
কার্ল ন্যাপফ


2

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

"X@QGy\un>v

সত্যবাদী হ'ল একটি অ্যারে (কলাম ভেক্টর) যা সমস্ত থাকে। ফালসি হ'ল একটি অ্যারে যা কমপক্ষে একটি শূন্য থাকে। আপনি এই লিঙ্কটি ব্যবহার করে এই সংজ্ঞাগুলি পরীক্ষা করতে পারেন ।

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন: সত্য , মিথ্যা (সামান্য পরিবর্তিত কোড, প্রতিটি ক্ষেত্রে স্বচ্ছতার জন্য একটি অনুভূমিক ভেক্টর তৈরি করে)।

ব্যাখ্যা

"       % Take input array. For each; i.e. repeat n times, where n is arrray size
  X@Q   %   Push iteration index plus 1, say k. So k is 2 in the first iteration,
        %   3 in the second, ... n+1 in the last. Actually we only need 2, ..., n;
        %   but the final n+1 doesn't hurt
  G     %   Push input again
  y     %   Duplicate k onto the top of the stack
  \     %   Modulo. Gives vector of remainders of input when divided by k
  un    %   Number of distinct elements
  >     %   True if that number is smaller than k
  v     %   Vertically concatenate with previous results
        % End for each. Implicitly display 

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

@ গ্রেগমার্টিন এটি একটি খুব ভাল প্রশ্ন। এর উত্তর সম্পর্কে আমাদের যথেষ্ট দৃ con় conক্য আছে; দেখতে এখানে
লুইস Mendo

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