পুনরাবৃত্তির উপন্যাসের প্রধান উপাদানসমূহ


20

পটভূমি

ভাবেন লোকেরা চ্যাটে প্রধান ফ্যাক্টরীকরণের কথা বলছিলেন এবং আমরা নিজেদেরকে পুনরাবৃত্তির বিষয়ে কথা বলতে পেলাম। রিপুনিটগুলি রেপিডিজিট হিসাবে পরিচিত সংখ্যার একটি উপসেট হয়, যা কেবল পুনরাবৃত্ত অঙ্কগুলি সমন্বিত 222বা এর মতো সংখ্যার 4444444444444444সমন্বয়ে থাকে তবে পুনরাবৃত্তিগুলি কেবলমাত্র থাকে 1

প্রথম দম্পতি repunits তাই হয় 1, 11, 111, ইত্যাদি এই দ্বারা উল্লেখ করা হয় আর এন , তাই আর 1 = 1, আর 2 = 11ইত্যাদি এবং সূত্র দ্বারা উত্পন্ন হয় R(n) = (10^n - 1)/9সঙ্গে, n > 0

এই পুনরাবৃত্ত সংখ্যাগুলির প্রাইম ফ্যাক্টরাইজেশন OEIS এর ক্রম A102380 অনুসরণ করে । উদাহরণ স্বরূপ:

আর 1 = 1
আর 2 = 11
আর 3 = 111 = 3 * 37
আর 4 = 1111 = 11 * 101
আর 5 = 11111 = 41 * 271
আর 6 = 111111 = 3 * 7 * 11 * 13 * 37
আর 7 = 1111111 = 239 * 4649
...

চ্যালেঞ্জ

একটি প্রোগ্রাম বা ফাংশন লিখতে যা, যখন একটি ইনপুট পূর্ণসংখ্যা দেওয়া এন সঙ্গে n >= 2মাধ্যমে stdin বা সমমানের , আউটপুট বা আয় উপন্যাস জন্য মৌলিক উত্পাদক আর এন কোনো সুবিধাজনক বিন্যাসে। "নভেল প্রাইম ফ্যাক্টর" এর অর্থ এখানে সমস্ত xযেখানে আর এন এর প্রাথমিকx উপাদান রয়েছে তবে এটি কোনও পূর্ববর্তী আর কে এর প্রধান উপাদান নয় , (যেমন, যদি আমরা সমস্ত আর এর জন্য প্রাথমিক উপাদানগুলি ক্রমানুসারে লিখি তবে আমরা দেখিনি) আগে).x1 <= k < nx

উদাহরণ

Input: 6
Output: 7, 13
(because 3, 11, and 37 are factors of a smaller R_k)

Input: 19
Output: 1111111111111111111
(because R_19 is prime, so no other factors)

Input: 24
Output: 99990001
(because 3, 7, 11, 13, 37, 73, 101, 137, 9901 are factors of a smaller R_k)

Input: 29
Output: 3191, 16763, 43037, 62003, 77843839397
(because no factors of R_29 are also factors of a smaller R_k)

অতিরিক্ত:

  • আপনার কোডটি কিছু করতে পারে বা যদি কিছুই করতে পারে n < 2
  • আপনি nপরীক্ষার জন্য এবং প্রয়োগের উদ্দেশ্যে একটি "যুক্তিসঙ্গত" উপরের সীমাটি ধরে নিতে পারেন - উদাহরণস্বরূপ, আপনার কোডটি আউটপুট হিসাবে প্রত্যাশিত হবে না তবে সীমাহীন কম্পিউটিং শক্তি এবং সময় দেওয়া হলে n = 10000000আপনার অ্যালগরিদম এই ধরনের ক্ষেত্রে কাজ করা উচিত ।
  • এখানে একটি সাইট রেফারেন্সের জন্য পুনরাবৃত্তির গুণাবলিকে উত্সর্গীকৃত।
  • আমি গণিতের মধ্য দিয়ে যাই নি, তবে আমি একটি হাইপোথিসিসের প্রস্তাব দিচ্ছি যে প্রতিটি এন এর এই অ্যালগরিদমের জন্য আলাদা ফলাফল রয়েছে - অর্থাৎ কোনও এন এর অস্তিত্ব নেই যে আর এন এর কোনও অভিনব উপাদান নেই। যদি কেউ তার উত্তরে প্রমাণিত বা অস্বীকৃতি জানায় তবে আমি 250 পয়েন্টের অনুদানের প্রস্তাব দেব । থমাস কোওয়া একটি মার্জিত প্রমাণ প্রস্তাব করেছিলেন , এবং আমি অনুগ্রহ প্রদান করি।

অন্তর্নির্মিত প্রাইম চেকিং এবং ফ্যাক্টরিয়েশন ন্যায্য খেলা?
মার্টিন এন্ডার

@ মার্টিনবাটনার কোন সীমাবদ্ধতা নেই
অ্যাডমবর্কবার্ক


@ আলেফাল্ফার কারণ অবশ্যই একটি ওইআইএস লিঙ্ক আছে ;-) ধন্যবাদ!
অ্যাডমবর্কবার্ক

উত্তর:


5

পাইথ, 16 14 13 বাইট

-F_m{P/^Td9SQ

সেরা হিসাবে আমি বলতে পারি, 19 চিরকালের জন্য লাগে।

-F_m{P/^Td9SQ      Implicit: Q = input
           SQ      Inclusive range 1 to Q
                        Implicit lambda d:
    {P                  unique primes dividing
       ^Td              10**d
      /   9                  //9
   m               map lambda over the range
   m{P/^Td9SQ      Unique prime factors of all repunits up to the Qth
  _                Reverse the list
-F                 Reduce by set difference

এখানে চেষ্টা করুন


আপনি যদি এটি কমান্ড লাইন থেকে চালিত করেন এবং সিমপাই ইনস্টল করেছেন, 19 এক সেকেন্ডের অধীনে সম্পূর্ণ হয়। প্রথমটি যেটি 2 সেকেন্ডের বেশি সময় নেয় সেটি হ'ল ইনপুট 38.
ইসাকাক

12

প্রমাণ যে প্রতিটি পুনরাবৃত্তির একটি অভিনব প্রধান উপাদান রয়েছে

জসিগমন্ডির উপপাদ্য ব্যবহার করে প্রমাণটি সহজ। উইকিপিডিয়া থেকে:

সংখ্যা তত্ত্ব, Zsigmondy এর উপপাদ্য, কার্ল Zsigmondy নামকরণ, রাজ্য যদি একটি> b> এর 0 coprime পূর্ণসংখ্যা, যেকোনো পূর্ণসংখ্যা জন্য এন ≥ 1 , একটি মৌলিক সংখ্যা হয় পি (ক আদিম মৌলিক গুণনীয়ক বলা হয়) যে ভাগ একটি এন - খ এন এবং বিভক্ত না একটি - বো কোন ধনাত্মক পূর্ণসংখ্যা জন্য ট <এন , নিম্নলিখিত ব্যতিক্রমসহ: [বিষয় আছে যা এখানে প্রযোজ্য হবে না]।

পুনরাবৃত্তিগুলি 9 বার বিবেচনা করুন: যা 10 এন -1 । সঙ্গে Zsigmondy এর উপপাদ্য দ্বারা একটি = 10 , খ = 1 , কিছু মৌলিক পি | 10 এন -1 যা কোনও 10 কে -1 , কে <এন বিভক্ত করে না ।

  • যেহেতু পি মূল এবং 10 এন -1 = 9 · আর এন , তাই এটি 9 বা আর এন এর মধ্যে বিভক্ত হতে হবে ।

  • পি বিভক্ত করা যাবে না 9 , যেহেতু 9 = 10 1 -1

  • সুতরাং পি বিভক্ত করে আর এন

  • পি কোনও আর কে ভাগ করতে পারে না, যেহেতু এটি 10 কে -1 = 9 · আর কে বিভক্ত করে না।

অতএব জিসিগমন্ডির উপপাদ্য থেকে প্রাপ্ত পি হ'ল যে কোনও আর এন , এন a 2 এর একটি অভিনব প্রধান উপাদান । ∎


পুনরাবৃত্তি উপন্যাসের প্রধান ফ্যাক্টরের একটি উদাহরণ

প্রধানমন্ত্রী 487 একটি পুনরাবৃত্তি মৌলিক ফ্যাক্টর আর 486 :

ফার্মাট- অউলার উপপাদ্য দ্বারা, 10 487-1 ≡ 1 (মোড 487) । 10 মোড 487 এর ক্রম, এটি হ'ল 10 এর ক্ষুদ্রতম শক্তি যা 1 মড 487, সুতরাং এটি অবশ্যই 486 এর বিভাজক হতে হবে In বাস্তবে আদেশটি 486 এর সমান It এটিও ঘটে যা কেবল 10 486 ≡ 1 নয় is (মোড 487) , এটিও 1 (Mod 487 2 )

এখানে দেখুন 10 মোড 487 এর ক্রম 486; এটি হ'ল, কোনও ছোট 10 কে -1 487 দ্বারা বিভাজ্য নয় vious স্পষ্টতই, 487 9 ভাগ করে না, সুতরাং এটি অবশ্যই আর 486 বিভক্ত করতে হবে ।


6

সিজেম, 18 বাইট

{{)'1*imf}%W%:-_&}

এটি এখানে পরীক্ষা করুন।

19-এ শুরু হওয়া (2 এর পরে প্রথম পুনঃনির্মাণ প্রধানমন্ত্রী) এটি বেশ দীর্ঘ সময় নিতে পারে।

ব্যাখ্যা

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

{      e# Map this block over [0 1 ... n-1]...
  )'1* e#   Increment and create a string of that many 1s.
  i    e#   Convert to integer.
  mf   e#   Get its prime factors.
}%
W%     e# Reverse the list.
:-     e# Fold set difference onto the list, removing from the first list the elements of
       e# all other lists.
_&     e# Remove duplicates. Unfortunately, this necessary. Thomas Kwa found that the 486th
       e# repunit contains 487^2 (where 487 is a novel prime factor).

3
আপনি কি করেছেন ... আপনি গত তিন মিনিটে 20 থেকে 16 বছর ধরে সিরিয়াসভাবে গল্ফ করেছিলেন? >।>
অ্যাডমবর্কবার্ক

@ টিমমিড বাছাই করুন ... আপাতত আমাকে আবার ১৮ বছরের উপরে যেতে হয়েছিল, কারণ এটি প্রমাণিত হয়েছে যে আমার কোডটি এমন একটি অনুমানের ভিত্তিতে তৈরি হয়েছিল যা আমি এখনই প্রমাণ করতে বা অস্বীকার করতে পারি না।
মার্টিন এন্ডার

ওও, এটি একটি আকর্ষণীয় কেস - ডুপ্লিকেট নভেল ফ্যাক্টর। আমার স্নাতকের.
অ্যাডমবর্কবর্ক

4

হাস্কেল 86 বাইট

import Data.Numbers.Primes
f n=[x|x<-primeFactors$div(10^n-1)9,notElem x$f=<<[1..n-1]]

ব্যবহারের উদাহরণ: f 8-> [73,137]

বড় জন্য অনেক সময় এবং স্মৃতি লাগে n

সংজ্ঞা সরাসরি বাস্তবায়ন: প্রতিটি মৌলিক উত্পাদকই আপনাকে নিতে xএর Rnযা প্রদর্শিত হয় না আগে ( f=<<[1..n-1]সব মৌলিক উত্পাদক হয় R1 ... R(n-1))।


3

গণিত 82 82 63 বাইট

আলেফাল্ফাকে 11 বাইট সাশ্রয় করে।

Complement@@Reverse@FactorInteger[(10^Range@#-1)/9][[;;,;;,1]]&

আর 70 এর প্রধান কারণ

(10 ^ 70 - 1) / 9 = 11111111111111111111111111111111111111111111111111111111111111111111111111111111

FactorInteger[(10^70 - 1)/9]

{{11, 1}, {41, 1}, {71, 1}, {239, 1}, {271, 1}, {4649, 1}, {9091, 1}, 35 123551, 1}, { 909091, 1}, 4 4147571, 1}, 102598800232111471, 1}, {265212793249617641, 1}


আর 70 এর উপন্যাসের প্রধান উপাদান

Complement@@Reverse@FactorInteger[(10^Range@#-1)/9][[;;,;;,1]]&[70]

{4147571, 265212793249617641}


Complement@@Reverse@FactorInteger[(10^Range@#-1)/9][[;;,;;,1]]&
আলেফাল্ফ

দয়া করে [[;;,;;,1]]বা এর অর্থ ব্যাখ্যা করুন [[1 ;; All, 1 ;; All, 1]]। আমি বিস্মিত!
ডেভিডসি

@ ডেভিডকারারহর এটি তালিকার প্রতিটি উপাদানগুলির প্রতিটি উপাদানগুলির প্রথম উপাদান গ্রহণ করে।
LegionMammal978

@DavidCarraher [[;;,;;,1]]হিসাবে একই [[All,All,1]]
আলেফাল্ফ

এখন তা বোঝা যায়। বিটিডাব্লু, আপনার পুনরায় অবস্থানটি Rangeখুব চালাক ছিল।
ডেভিডসি

2

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

এটি ইনপুট পর্যন্ত কাজ করে 16:

10,i:^9/Y[t0)Yftb!w\~s1=)

নিম্নলিখিত সংস্করণটি 31 বাইট ব্যবহার করে এবং এটি পর্যন্ত কাজ করে 18। জন্য 194 গিগাবাইট পুনরুদ্ধার সম্পর্কে প্রয়োজন (আমি এটি চালানোর জন্য সক্ষম হয়েছে না)।

10,i:^9/Y[t0)5X2Y%Yfotb!w\~s1=)

উদাহরণ

>> matl
 > 10,i:^1-,9/t0)5X2Y%Yfotb!w\~s1=)
 > 
> 6
7 13

ব্যাখ্যা

সংক্ষিপ্ত ইনপুট জন্য বিবেচনা করুন 6। প্রথমে প্রধান বিভাজকগণ 111111গণনা করা হয়; এই ক্ষেত্রে ফলাফল নেই মধ্যে 3, 7, 11, 13, 37। তারপর মডিউল অপারেশন (বিভাজন অবশিষ্টাংশ) সংখ্যার সব সমন্বয় জন্য গণনা করা হয় 1, 11... 111111এবং নির্ণিত ভাজক। এটি এমএটিএল এর অন্তর্নিহিত একক প্রসারকে কাজে লাগায়। ফলাফলটি এই ক্ষেত্রে একটি 6এক্স 5ম্যাট্রিক্স, প্রতিটি কলাম বিভক্তকারীগুলির সাথে সম্পর্কিত with স্বীকৃত বিভাজক (কলাম) হ'ল তার জন্য কেবলমাত্র 1মান (যথা সর্বশেষ) শূন্য বাকী অবশিষ্ট দেয়।

10,i:^9/Y[   % generate vector with `1`, `11`, ... depending on input number, say "n"
t0)          % pick the last element: `111...1` (n ones)
5X2Y%        % * convert to uint64, so that larger numbers can be handled
Yf           % prime factors                                             
o            % * convert to double precision, so that modulus can be done
t            % duplicate                                                 
b            % bubble up element in stack                                
!            % transpose                                                 
w            % swap elements in stack                                    
\            % modulus after division (element-wise, singleton expansion)
~s           % number of zero values in each column
1=           % is equal to 1? (element-wise, singleton expansion)
)            % index divisors with that logical index

(*) সংক্ষিপ্ত সংস্করণে সরানো হয়েছে


এটি করার একটি চতুর উপায়।
অ্যাডমবর্কবার্ক

2

জুলিয়া, 103 বাইট

R(n)=[keys(factor((10^n-19))...]
n->(r=R(n);isprime(r)?r:setdiff(r,reduce(vcat,[R(i)for i=1:n-1])))

এটি একটি নামহীন ফাংশন যা সাহায্যকারী ফাংশনটিকে কল করে R। এটি কল করতে, মূল ফাংশনটির একটি নাম দিন, উদাহরণস্বরূপ f=n->...

Ungolfed:

function R(n::Integer)
    collect(keys(factor((10^n - 1) ÷ 9)))
end

function f(n::Integer)
    r = R(n)
    if isprime(r)
        r
    else
        setdiff(r, reduce(vcat, [R(i) for i = 1:n-1]))
    end
end

2

ল্যাবভিউ, 33 ল্যাবভিউ পুরষ্কার

19 চিরতরে লাগে ...

সমস্ত প্রাইমগুলি সংরক্ষণ করে এবং অন্যান্য সেটটিতে পাওয়া গেলে শেষ সেটটি থেকে উপাদানগুলি মুছে ফেলে কাজ করুন।


1

জে, 24 বাইট

[:({:-.}:)@:q:[:+/\10^i.

6 এর পরে প্রসারিত-নির্ভুলতা সংখ্যার প্রত্যাশা করে (উদাহরণস্বরূপ 19xপরিবর্তে 19)।

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

পুনরাবৃত্তিগুলি তৈরি করার সম্ভবত একটি ছোট্ট উপায় আছে যা ক্যাপগুলি এড়িয়ে চলে।

ব্যাখ্যা

[: ({: -. }:) @: q: [: +/\ 10 ^ i.
                                i. Range [0, input)
                           10 ^    10 raised to the power of the range
                       +/\         Running sum of this list (list of repunits)
                 q:                Prime factors of the repunits
              @:                   Composed with
   ({: -. }:)                      Unique prime factors of last repunit
    {:                              Factors of last repunit (tail of matrix)
       -.                           Set subtraction with
          }:                        Rest of the matrix (curtail)

দৃশ্যমানভাবে এটি কীভাবে কাজ করে

আমি মনে করি যে এই ধরণের ভিজ্যুয়াল ব্যাখ্যাগুলি জে জানে না তাদের পেটের পক্ষে সহজ These এগুলি আরপিএল থেকে প্রাপ্ত ফলাফল।

   10 ^ i.6
1 10 100 1000 10000 100000

   +/\ 10 ^ i. 6
1 11 111 1111 11111 111111

   q: +/\ 10 ^ i. 6
 0   0  0  0  0
11   0  0  0  0
 3  37  0  0  0
11 101  0  0  0
41 271  0  0  0
 3   7 11 13 37

   ({: -. }:) q: +/\ 10 ^ i. 6
7 13
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.