সংখ্যা x এর মতো x 7 2 ভাগ করে 7 ^ x-1


16

কার্য

সংখ্যার একটি সেট আছে x, যেমন x^2বিভাজক 7^x-1

আপনার কাজ এই সংখ্যাগুলি সন্ধান করা। এন এর একটি ইনপুট দেওয়া, কোডটি এই নিয়মটি অনুসরণ করে নবম সংখ্যাটি মুদ্রণ করবে।

উদাহরণ 1-সূচক

In   Out
3    3
9    24
31   1140

প্রাসঙ্গিক ক্রম এখানে পাওয়া যাবে

বিধি

সংক্ষিপ্ত উত্তরটি হবে বিজয়ী *

স্ট্যান্ডার্ড গল্ফিং বিধি প্রযোজ্য

লুফোলগুলি অনুমোদিত নয়

আপনার উত্তর হয় 0 বা 1 ইনডেক্সড হতে পারে, দয়া করে আপনার উত্তরে লিখুন


@ নিমিমি আমি পরিকল্পনা করার সময় এগুলি লিখেছিলাম এবং সেগুলি কখনই বাস্তবায়ন করি নি। আমি প্রশ্নটি আপডেট করেছি
জর্জে

সীমা কি n? আমি এর সাথে সঠিক ফলাফল দিতে পারি n=9তবে n=10ইতিমধ্যে আমার সমস্যার কারণ হচ্ছে।
ব্রিটিশবাদী

@ ব্রায়েন্টিস্ট যদি আপনি উচ্চতর ইনপুট মানগুলির জন্য ভুল ফলাফল পেয়ে থাকেন তবে আপনার উত্তরটি ভুল। যদি এটি কেবল দীর্ঘ সময় নেয় তবে তা বাস্তবায়ন নির্ভর হতে পারে।
mbomb007

এটি কেবল দীর্ঘ সময় নিচ্ছে না। n=10আমাকে 32 দেয়; এটি কারণ এটি পূর্ণসংখ্যার পরিবর্তে ডাবল ব্যবহার শুরু করে এবং এর পরে মোডটি ভুল। :(
অনুশীলনকারী

উত্তর:


8

হাস্কেল, 34 বাইট

([x|x<-[1..],mod(7^x-1)(x^2)<1]!!)

এটি 0-ভিত্তিক সূচক ব্যবহার করে। ব্যবহারের উদাহরণ: ([x|x<-[1..],mod(7^x-1)(x^2)<1]!!) 30-> 1140

এটি সংজ্ঞাটির প্রত্যক্ষ বাস্তবায়ন। এটি সমস্ত সংখ্যার একটি তালিকা তৈরি করে xএবং এইটিকে বেছে নিয়েছে n


5

পাইথ , 10 বাইট

e.f!%t^7Z*

একটি প্রোগ্রাম যা কোনও পূর্ণসংখ্যার ইনপুট নেয় এবং এক-সূচকযুক্ত মানটি প্রিন্ট করে।

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

কিভাবে এটা কাজ করে

e.f!%t^7Z*     Program. Input: Q
e.f!%t^7Z*ZZQ  Implicit variable fill
               Implicitly print
e              the last
 .f         Q  of the first Q positive integers Z
     t^7Z      for which 7^Z - 1
    %          mod
         *ZZ   Z^2
   !           is zero

5

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

f=(n,i=1)=>n?f(n-!((7**++i-1)%i**2),i):i

জেএস যথাযথতা হারাতে পেরে এটি মোটামুটি দ্রুত নির্ভুলতা হারিয়ে ফেলে 7**19। এখানে প্রায় স্বেচ্ছাচারিতা-নির্ভুলতা ES6 সংস্করণ রয়েছে:

f=(n,i=0)=>n?f(n-!(~-(s=++i*i,g=j=>j?g(j-1)*7%s:1)(i)%s),i):i

এটি পরীক্ষার ক্ষেত্রে 31 এর এক সেকেন্ডের মধ্যে শেষ হয়।

কয়েক দীর্ঘতর পন্থা:

f=(n,i=0)=>n?f(n-!(~-(s=>g=j=>j?g(j-1)*7%s:1)(++i*i)(i)%s),i):i
f=(n,i=0)=>n?f(n-!(s=++i*i,g=(j,n=1)=>j?g(j-1,n*7%s):~-n%s)(i),i):i
f=(n,i=0)=>n?f(n-!(s=>g=(j,n=1)=>j?g(j-1,n*7%s):~-n%s)(++i*i)(i),i):i

4

05 এ বি 1 , 11 বাইট

µ7Nm<NnÖiN¼

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

কিছু কারণে আমি কাজ করতে পারছি ½না µ7Nm<NnÖ½Nবা পাইথের সাথে আবদ্ধ থাকব।

µ           # Loop until the counter equals n.
 7Nm<       # Calc 7^x+1.
     Nn     # Calc x^2.
       Ö    # Check divisibility.
        iN¼ # If divisible, push current x and increment counter.
            # Implicit loop end.
            # Implicitly return top of stack (x)


হ্যাঁ, আমি Öকয়েক মাস ধরে আমার ফিক্স তালিকায় সেই দ্বিধা নিয়েছিলাম কিন্তু আমি কখনই এর সাথে ডিল করতে পারি না। যাইহোক, আপনি প্রয়োজন নেই Nযেমন µস্বয়ংক্রিয়ভাবে গত আউটপুট Nযদি স্ট্যাকের খালি।
এমিগিনা

4

পাইথন 2 , 48 46 বাইট

-2 বাইটের জন্য @ ডেনিসকে ধন্যবাদ!

f=lambda n,i=1:n and-~f(n-(~-7**i%i**2<1),i+1)

একটি এক সূচকযুক্ত পুনরাবৃত্তি ফাংশন যা আর্গুমেন্টের মাধ্যমে ইনপুট নেয় এবং ফলাফলটি দেয়।

এটি অনলাইন চেষ্টা করুন! (চূড়ান্ত পরীক্ষার কেস চালানোর অনুমতি দিতে পুনরাবৃত্তির সীমা বাড়ানো হয়েছে)

কিভাবে এটা কাজ করে

nহ'ল কাঙ্ক্ষিত সূচক এবং iগণনা পরিবর্তনশীল।

অভিব্যক্তি ~-7**i%i**2<1আয় True(সমতূল্য 1হলে) i^2ভাগ 7^i - 1, এবং False(সমতূল্য 0) অন্যথায়। প্রতিবার ফাংশনটি ডাকা হলে, অভিব্যক্তির ফলাফলটি বিয়োগ করা হয় n, nপ্রতিবার হিট পাওয়া গেলে হ্রাস পায় ; iএছাড়াও বর্ধিত হয়।

সংক্ষিপ্ত-প্রচারিত আচরণের andঅর্থ nহ'ল কখন 0, 0ফিরে আসবে; এটি বেস কেস। এটি পৌঁছে গেলে পুনরাবৃত্তি বন্ধ হয়ে যায় এবং এর বর্তমান মানটি iমূল ফাংশন কল দিয়ে ফিরে আসে। স্পষ্টভাবে ব্যবহার না করে i, এটি প্রতিটি ফাংশন কলের জন্য, কলটির -~সামনের অংশটি ব্যবহার করে একটি ইনক্রিমেন্ট সম্পাদন করা হয়েছে তা ব্যবহার করে এটি করা হয়; বর্ধমান 0 iসময় দেয় iযেমন প্রয়োজন হয়।


1
(~-7**i%i**2<1)কয়েকটা বাইট সাশ্রয় করে।
ডেনিস

@ ডেনিস অবশ্যই! ধন্যবাদ।
দ্য বাইকিংভিকিং

3

পাইথন 2 , 57 53 51 বাইট

-৪ বাইট ইটিএইচ প্রডাকশনগুলিতে
ধন্যবাদ -২ বাইট ধন্যবাদ টুকুকএক্সকে

i=0
g=input()
while g:i+=1;g-=~-7**i%i**2<1
print i

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


@ ইথ প্রডাকশনস ইয়েপ সি:
রড

যদি আপনি চারপাশে প্রথম বন্ধনী সরিয়ে ফেলেন তবে কোনও টেস্টকেস ব্যর্থ হয় (7**i)? আমি সেগুলি সরিয়ে দিয়েছি এবং এটির জন্য আমি চেষ্টা করেছি তাদের পক্ষে কাজ করে।
ইয়াতসি

@ টুকুএক্সএক্স এর **চেয়ে বেশি অগ্রাধিকার পেয়েছে ~এবং-
রড

2

পাইথন 2, 57 বাইট

এটি বড় মূল্যগুলির জন্য সত্যই, সত্যই দীর্ঘ সময় নেয় । এটি প্রচুর পরিমাণে মেমরি ব্যবহার করে, কারণ এটি প্রয়োজনীয়তার চেয়ে পুরো তালিকা তৈরি করে। ফলাফলটি শূন্য-সূচকযুক্ত।

lambda n:[x for x in range(1,2**n+1)if(7**x-1)%x**2<1][n]

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


কৌতূহলের বাইরে, 2**n+1উপরের সীমা হিসাবে কোনও প্রমাণ আছে কি?
রড

@ রড যেটি আমি জানি তা নয়, তবে 50 মান 0000 রয়েছে তা বিবেচনা করে আমি নিশ্চিত যে 50% এর চেয়ে অনেক বেশি আছে 2**50। আমি ব্যবহার করতে পারি 9**n+9, তবে এটি অনেক বেশি সময় নেয়। আমি f(20)কিছুক্ষণ আগে (সাথে 2**n+1) দৌড়াতে শুরু করি ; এটি এখনও সম্পন্ন হয়নি।
mbomb007

আমি এমনকি মনে করি না যে এই অনুক্রমটি অসীম, তার কোনও প্রমাণ রয়েছে, নবম পদটির জন্য একটি সুন্দর উপরের আবদ্ধ থাকতে দেওয়া হোক!
গ্রেগ মার্টিন

2

গণিত, 43 বাইট

আমি বর্তমানে এই বাইট গণনায় তিনটি পৃথক সমাধান পেয়েছি:

Nest[#+1//.x_/;!(x^2∣(7^x-1)):>x+1&,0,#]&
Nest[#+1//.x_/;Mod[7^x-1,x^2]>0:>x+1&,0,#]&
Nest[#+1//.x_:>x+Sign@Mod[7^x-1,x^2]&,0,#]&

প্রথম লাইনে x (2 এবং (7 ^ x ... এর মধ্যে চরিত্রটি কী? এটি একটি পাইপের মতো দেখায় তবে খাটো
সেফা

@ শেফা এটি গাণিতিক "বিভাজক" চিহ্নের জন্য ইউনিকোড চরিত্র এবং এটি ম্যাথামেটিকা ​​অপারেটর হিসাবে ব্যবহার করেন Divisible
মার্টিন এন্ডার

এখানে 41 বাইটের মধ্যে একটি রয়েছে: Cases[Range[#^3],x_/;x^2∣(7^x-1)][[#]]&হিউরিস্টিক যুক্তির উপর ভিত্তি করে যে n an 3 একটি উপরের বাউন্ড। আমি এর সত্যই এক দুর্দান্ত প্রমাণ খুঁজে পেয়েছি, যা এই মার্জিনটি ধারণ করা খুব সংকীর্ণ :)
কেলি লোডার

2

PARI / GP , 42 বাইট

অনেকটাই অকপট. 1-ইনডেক্সড, যদিও এটি সহজেই পরিবর্তিত হতে পারে।

n->=k=1;while(n--,while((7^k++-1)%k^2,));k

অথবা

n->=k=1;for(i=2,n,while((7^k++-1)%k^2,));k

1

পাইথন 3 , 45 বাইট

f=lambda n,k=2:n<2or-~f(n-(7**k%k**2==1),k+1)

ইনপুট 1 এর জন্য সত্য প্রত্যাবর্তন করুন , যা ডিফল্টরূপে অনুমোদিত

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


আমি এই মুহুর্তে এটি পরীক্ষা করতে পারছি না, তবে আমি ধরে নিই এটি অন্যান্য ইনপুটগুলির জন্য কোনও মান দেয়? বুলের চেয়ে?
জর্জ

1

আর, 35 বাইট

এটি শুধুমাত্র জন্য কাজ করে n<=8

z=1:20;which(!(7^z-1)%%z^2)[scan()]

তবে, এখানে একটি দীর্ঘ সংস্করণ যা 50 বাইটেরn<=25 জন্য কাজ করে :

z=1:1e6;which(gmp::as.bigz(7^z-1)%%z^2==0)[scan()]

এটি কেবলমাত্র 8দীর্ঘ ইনট হয়ে যাওয়ার কারণে কাজ করে ?
জর্জ

1
@ জর্জ হ্যাঁ, আপনি 32 বিট পূর্ণসংখ্যার কাছে আর ডিফল্ট হিসাবে নির্ভুলতা হারাবেন। কোডের দ্বিতীয় সংস্করণে একটি প্যাকেজ ব্যবহার করা হয় gmp, যা নির্বিচারে বড় পূর্ণসংখ্যার অনুমতি দেয়। যাইহোক, আমি উপরের যে কোনও কম্পিউটারের জন্য র‍্যামের বাইরে চলে গেলাম n=25
rturnbull

0

পিএইচপি, 47 49 বাইট

while($n<$argv[1])$n+=(7**++$x-1)%$x**2<1;echo$x;

কেবল এন <9 এর জন্য কাজ করে ( 64 বিট এর 7**9চেয়ে বড় PHP_INT_MAX)

62 বাইট যথেচ্ছ দৈর্ঘ্যের পূর্ণসংখ্যার ব্যবহার করে: (পরীক্ষা করা হয়নি; আমার মেশিনে পিএইচপি বিসিএমথের নেই)

for($x=$n=1;$n<$argv[1];)$n+=bcpowmod(7,++$x,$x**2)==1;echo$x;

সাথে চালাও php -nr '<code>' <n>

সুডোকোড

implicit: $x = 0, $n = 0
while $n < first command line argument
    increment $x
    if equation is satisfied
        increment $n
print $x


0

Clojure , 83 বাইট

(fn[n](nth(filter #(= 0(rem(-(reduce *(repeat % 7N))1)(* % %)))(iterate inc 1N))n))

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

এটি জাভা বিগইন্টিজার্সের 1 থেকে শুরু করে একটি অসীম তালিকা তৈরি করে এবং সংজ্ঞা অনুসারে এগুলি ফিল্টার করে। ফিল্টারকৃত তালিকা থেকে n মান নির্বাচন করতে এটি শূন্য-ভিত্তিক সূচক ব্যবহার করে ।


0

পার্ল 5, 35 বাইট

ঠিক আছে, এটি অনুপস্থিত ছিল, সুতরাং এটি এখানে:

map{$_ if!((7**$_-1)%($_**2))}1..<>


0

পাওয়ারশেল, অনেক বেশি বাইট

এটি সম্ভব ছিল কিনা তা দেখার জন্য এবং এটি হয়।

[System.Linq.Enumerable]::Range(1,10000)|?{[System.Numerics.BigInteger]::Remainder([System.Numerics.BigInteger]::Pow(7,$_)-1,$_*$_) -eq 0}


0

কিউবিআইসি , 39 বাইট

:{~(7^q-1)%(q^2)=0|b=b+1]~b=a|_Xq\q=q+1

আমি কিউ বেসিক ৪.৫ এ এটি চালাতে পারিনি, তবে কিউবি run৪ এ এটি ঠিকঠাক বলে মনে হচ্ছে। কিছু অনির্বচনীয় কারণে, কিউব্যাসিক 134841,287,200 কে 144 দ্বারা পরিষ্কারভাবে বিভক্ত করতে অস্বীকার করেছে, তবে এর পরিবর্তে -128 এর বাকী অংশ দেয়। এটি তখন 12 এর পরিবর্তে এই ক্রমের 7 তম পদ হিসাবে 16 ফেরায় ...

:{      get N from the command line, start an infinite DO-loop
~       IF
(7^q-1) Part 1 of the formula (Note that 'q' is set to 1 as QBIC starts)
%       Modulus
(q^2)   The second part
=0      has no remainder
|b=b+1  Then, register a 'hit'
]       END IF
~b=a    If we have scored N hits
|_Xq    Quit, printing the last used number (q)
\q=q+1  Else, increase q by 1. 
        [DO-loop and last IF are implicitly closed by QBIC]

0

আশ্চর্য , 28 বাইট

@:^#0(!>@! % - ^7#0 1^#0 2)N

শূন্য-ইন্ডেক্স। ব্যবহার:

(@:^#0(!>@! % - ^7#0 1^#0 2)N)2

একটি প্রাকটিকের সাথে প্রাকৃতিক সংখ্যার তালিকা থেকে ফিল্টারগুলি x^2যা বিভাজ্য কিনা তা নির্ধারণ করে 7^x-1, তারপরে সেই তালিকায় নবম আইটেম পায়।


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