কোডটি কি শেষ হয়?


92

এটি একটি কোড গল্ফ চ্যালেঞ্জ যা আমি গাণিতিক বাঁক নিয়ে ভেবেছিলাম। চ্যালেঞ্জটি হ'ল সংক্ষিপ্ততম কোডটি লিখতে হবে যে কোডটি সমাপ্ত হয় কিনা তা এটি একটি মুক্ত প্রশ্ন। আমি কী বোঝাতে চাইছি তার একটি উদাহরণ নীচে পাইথন কোডের টুকরো হতে পারে, এটি একটি আনসার থেকে এই সিএস স্ট্যাকেক্সচেঞ্জ প্রশ্নের সাথে অভিযোজিত ।

def is_perfect(n):
    return sum(i for i in range(1, n) if n % i == 0) == n

n = 3
while not is_perfect(n):
    n = n + 2

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

সম্পাদনা করুন: কিছু লোক একটি ভাল অতিরিক্ত নিয়ম এনেছে - প্রশ্নের সমাধানগুলি নির্বিচারক হওয়া উচিত। যদিও আপনি আরও অদ্বিতীয়তা ব্যবহার করে সংক্ষিপ্ত সমাধানগুলি খুঁজে পেতে পারলে এটি আরও মজাদার হতে পারে। এই ক্ষেত্রে, নিয়মটি এমন একটি স্নিপেট সন্ধান করা হবে যার জন্য সমাপ্তির সম্ভাবনা অজানা।


2
পিপিসিজিতে আপনাকে স্বাগতম!
লুইস মেন্ডো

3
আপনার কোড 50 বাইট golfed করা যেতে পারে: n=3 while sum(k*(n%k<1)for k in range(1,n))-n:n+=2
xnor

13
এটি সত্যই একটি দুর্দান্ত ধারণা। এটির মতো আসল ধারণাগুলি দেখে ভাল লাগল।
নাথান মেরিল

7
@ মেগো আমি মনে করি এই চ্যালেঞ্জটি কেবল তখনই কাজ করে যদি আপনি অসীম ডেটা ধরণগুলি গ্রহণ করেন যা স্বয়ংক্রিয়ভাবে অসীম স্মৃতি গ্রহণ করবে।
মার্টিন রোজনৌ

52
আমি যখন শিরোনামটি পড়ি তখন আমি ভেবেছিলাম আপনি আমাদের থামিয়ে দেওয়া সমস্যার সমাধান করতে চান এবং সমাধানটি গল্ফ করুন।
মিঃপলচ

উত্তর:


29

জেলি , 7 বাইট

!‘Ʋµ4#

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

পটভূমি

এটি একবার ব্রোকার্ডের সমস্যার চতুর্থ সমাধান , অর্থাৎ একটি সমাধান এন খুঁজে পেলে এটি শেষ হয়ে যাবে ! ইতিবাচক পূর্ণসংখ্যার উপরে ( 1 , এম) সাথে (এন, এম) ≠ (4, 5), (5, 11), (7, 71) বাস্তবায়নটি ভাসমান পয়েন্ট গণিত ব্যবহার করে না, সুতরাং এটি কেবলমাত্র চতুর্থ সমাধান খুঁজে পেলে বা যদি এন শেষ হয়ে যায়! আর স্মৃতিতে প্রতিনিধিত্ব করা যাবে না।

ব্রোকার্ডের সমস্যাটি প্রথমে @xnor এর উত্তরে ব্যবহৃত হয়েছিল ।

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

!‘Ʋµ4#  Main link. No arguments. Implicit argument: 0

    µ4#  Convert the links to the left into a monadic chain and call it with
         arguments k = 0, 1, 2, ... until 4 of them return 1.
!        Factorial; yield k!.
 ‘       Increment; yield k! + 1.
  Ʋ     Squareness; return 1 if k! + 1 is a perfect square, 0 if not.

3
আমার জেলি শিখতে হবে ...
noɥʇʎԀʎzɐɹƆ

19

জেলি , 11 9 বাইট

ÆẸ⁺‘ÆPµ6#

ষষ্ঠ ফারম্যাট প্রাইমটি পাওয়া গেলে এটি শেষ হবে ।

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

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

ÆẸ⁺‘ÆPµ6#  Main link. No arguments. Implicit argument: 0

      µ6#  Convert the links to the left into a monadic chain and call it with
           arguments k = 0, 1, 2, ... until 6 of them return 1.
ÆẸ         Convert [k] to the integer with that prime exponent factorization, i.e.,
           into 2 ** k.
  ⁺        Repeat.
   ‘       Increment.
           We've now calculated 2 ** 2 ** k + 1.
    ÆP     Test the result for primality.

16

পাইথ, 10 বাইট

fP_h^2^2T5

সমস্ত ফার্মেট নম্বর 2^(2^n)+1 সম্মিলিত বলে অনুমানটি ব্যবহার করে n>4

f        5   Find the first number T>=5 for which
   h^2^2T    2^(2^T)+1
 P_          is prime                   

11

পাইথন, 36 বাইট

k=n=1
while(n+1)**.5%1+7/k:k+=1;n*=k

ব্রোকার্ডের সমস্যা ব্যবহার করে :

N! +1 কি কোনও n≥8 এর জন্য নিখুঁত বর্গ?

ধারাবাহিক ফ্যাক্টরিওলগুলি গণনা করে সেগুলি স্কোয়ার কিনা এবং তা পরীক্ষা করে k>7। ডেনিসকে 2 বাইটের জন্য ধন্যবাদ!

এটি ধরে নিয়েছে পাইথনে যথেচ্ছ সংখ্যক সংখ্যক জন্য সঠিক গাণিতিক রয়েছে। প্রকৃত বাস্তবায়নে, এটি সমাপ্ত হয়।


1
-~n**.5জায়গায় কাজ করবে না (n+1)**.5?
ইটিএইচ প্রডাকশনস 22:56

@ETHproductions exponentation এর পূর্ববর্তিতার প্রাধান্য বেশী ~, যাতে শুধু একটি বাড়াতে হবে TypeError একটি float, bitwise অস্বীকার করার চেষ্টা করার জন্য।
ডেনিস

11

পার্ল, 50 38 36 34 33 বাইট

$_=196;$_+=$%while($%=reverse)-$_

ব্যাখ্যা: 196 হ'ল একটি সম্ভাব্য লিচরেল সংখ্যা - এমন একটি সংখ্যা যা বার বার নিজের বিপরীতে যুক্ত করে প্যালিনড্রোম তৈরি করে না। লুপটি অবিরত অবধি continues n এর বিপরীতে সমান হয় যা প্রাথমিক মান 196 এর জন্য এখনও অজানা।

25 + 52 = 77

যা বৈধ নয়।

96 + 69 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884

সুতরাং এই ক্রমের কোনও সংখ্যাই বৈধ নয়।

সম্পাদনা করুন: লুপের (কোনওভাবে) পরিবর্তে লুপ অব লুপ ব্যবহার করে এটি গল্ফ করে। এছাড়াও, আমার যা ভাবা হয়েছিল তার চেয়ে আমার কম বাইট ছিল (ভবিষ্যতে আমার সম্ভবত আমার বাইকোন্টটি আরও যত্ন সহকারে দেখা উচিত)।

সম্পাদনা করুন: ইনপ্রেসড আর্গুমেন্টের জন্য 2 বাইট সংরক্ষণ করতে প্রতিস্থাপন $nকরা $_হয়েছে reverse। আমি মনে করি এটি যেমন বাস্তবায়ন পেতে চলেছে তেমন গল্ফড।

সম্পাদনা: আমি ভুল ছিলাম। until($%=reverse)==$_পার্থক্যটি ননজারো (যেমন সত্য): ব্যবহার করার পরিবর্তে আমি যেতে পারি while($%=reverse)-$_


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

এটা কর. আমি তোমাকে সাহস করি :-)
ভিকি 21

11

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

`@QEtZq&+=z

যদি গোল্ডবাচের অনুমানটি মিথ্যা হয় তবে তা সমাপ্ত করে । এটি হ'ল, যদি প্রোগ্রামটি থেমে যায় তবে যদি এটির চেয়ে আরও বেশি সংখ্যক সংখ্যা খুঁজে পায় তবে 2দুটি প্রাইমের সমষ্টি হিসাবে প্রকাশ করা যায় না।

`        % Do...while
  @      %   Push iteration index k. Gives 1, 2, 3, ...
  QE     %   Add 1 and multiply by 2. Gives 4, 6, 8, ...
  tZq    %   Duplicate. Push all primes up to current k
  &+     %   Matrix with all pairwise additions of those primes
  =z     %   Number of entries of that matrix that equal k. This is used as loop
         %   condition. That is, the loop continues if this number is nonzero
         % Implicit end


8

পাইথন, 30 28 বাইট

n=2
while 2**~-n%n**3-1:n+=1

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


আপনি কি নিশ্চিত যে বন্ধনীগুলি সঠিকভাবে স্থাপন করা হয়েছে? দেখে মনে হচ্ছে আপনি 2 ^ (n-1)! ≡ 1 (মোড এন ^ 3), 2 ^ n ≡ 1 (মোড এন ^ 3) নয় কিনা তা পরীক্ষা করে দেখছেন। মঞ্জুর, আমি পাইথনের অপারেটর এর চেয়ে ভাল কিছু জানি না।
গ্যাব্রিয়েল বেনামি

ওফস, কোডটি সঠিক, তবে আমার ব্যাখ্যাটি নেই। আমি এটা ঠিক করব.
জুলিয়ান রোসেন 24:58

2
আপনি এর (n-1)সাথে প্রতিস্থাপন করতে পারেন~-n
শ্রীওচিলিজম ও'জাইক

7

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

[n|n<-[1..],2*n==sum[d|d<-[2..n],n`mod`d<1]]!!0

প্রথম কোয়াশিপরিফেক্ট নম্বরটি অনুসন্ধান করা হচ্ছে , এটি এমন একটি সংখ্যা, nযার বিভাজকের যোগফল 2*n+1। 1 যোগ করার পরিবর্তে, আমি 1 টি বিভক্তকারীদের তালিকা থেকে বাদ দিই।


6

ব্রেন-ফ্লাক, 212 208 204 বাইট tes

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

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

(((()()()()){})){{}((({}()))<{(({})[()])}{}>[()]){({}<({}<>)({<({}[()])><>({})<>}{}<><{}>)>[()])}{}(({}())){(({}[()]<>)<>)(({({})({}[()])}{}[({})]<>)){{}{}({}<>)(<([()])>)}{}({}()){(((<{}{}<>{}>)))}{}}{}}

এই প্রোগ্রামটি 8 থেকে শুরু হয় এবং প্রতিটি সংখ্যাটি পরীক্ষা করে পরীক্ষা করে দেখুন যে n! +1 একটি বর্গ সংখ্যা কিনা। এটি খুঁজে পেলে এটি প্রস্থান করে। এটি ব্রোকার্ডের সমস্যা হিসাবে পরিচিত এবং এটি গণিতে একটি উন্মুক্ত সমস্যা।


6

ব্র্যাচল্যাগ (ভি 2), ব্র্যাচল্যাজের এনকোডিংয়ে 3 বাইট

⟦cṗ

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

পুরো প্রোগ্রাম; যদি কোনও ইনপুট না দিয়ে চালানো হয় তবে প্রথম স্মারান্ডেচ প্রাইম অনুসন্ধান করে এবং আউটপুট true.যদি এবং যখন এটা এক খুঁজে বের করে। কোনও স্মারান্ডেচ প্রাইম রয়েছে কিনা তা এটি একটি উন্মুক্ত প্রশ্ন। (নোট করুন যে ব্র্যাচল্যাগের প্রাইম-টেস্টিং অ্যালগরিদম যদিও এটি নির্বিচারে প্রচুর সংখ্যায় তত্ত্বের ভিত্তিতে কাজ করে, সেগুলি ধীরে ধীরে চালিত করে; সুতরাং, আপনি যদি স্মারান্ডেচি প্রাইমগুলি নিজেরাই সন্ধান করতে আগ্রহী হন, তবে আমি একটি ভিন্ন ভাষা ব্যবহার করার পরামর্শ দিই))

ব্যাখ্যা

⟦cṗ
⟦     Form an increasing range from 0 to {the smallest number with no assertion failure} 
 c    Concatenate all the numbers that make up that range, in decimal
  ṗ   Assert that the result is prime

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

এখানে একটি উদাহরণ যা প্রথম স্মরণেচি নম্বরটি 6 (Mod 11) এর সমান আবিষ্কার করে, অজানা থামার স্থিতি না রেখে 60 সেকেন্ডের মধ্যে শেষ হয়ে যায় এমন একটি প্রোগ্রামের প্রদর্শন হিসাবে:

⟦c{-₆~×₁₁&}

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

এটি true.একটি সম্পূর্ণ প্রোগ্রাম হিসাবে মুদ্রণ করবে , কিন্তু আমি Zকমান্ড লাইন যুক্তিটিতে প্রকৃতপক্ষে প্রশ্নযুক্ত মুদ্রণের জন্য ছুঁড়ে ফেলেছি , এই সাধারণ পদ্ধতির কাজ করে এমন একটি আরও ভাল প্রদর্শন প্রদান করে।


5

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

p=lambda n:all(n%x for x in range(2,n))
s=lambda n:0if p((10223*2**n)+1)else s(n+1)
s(0)

এই কোডটি সমাপ্ত হবে যদি 10223 সিয়েরপিস্কি নম্বর হয়। ১০২২২৩ হ'ল ডিসেম্বরের হিসাবে, বর্তমানে সর্পিসিস্কি নম্বর বা নাও হতে পারে এমন সবচেয়ে ছোট প্রার্থী।

একটি সিয়ের্পস্কি নম্বর এমন একটি সংখ্যা kযা ফর্মের সমস্ত সংখ্যা সংমিশ্রিত (k * 2^n) + 1


আমি আশা করি এই সমস্যাটি এবং সিয়েরপিনস্কি সমস্যাটি আরও গণনা করে অদূর ভবিষ্যতে সমাধান হয়ে গেছে।
কিউইউআর

4
এই কোডটি অবশ্যই অবসান করেছে, যেহেতু আপনি কেবল দুটি লম্বা নাম রাখেন, আপনি আসলে কিছুই কল করেন না । :
পি

4
আসলে আপনি করেন নি। আপনার কোডটি সর্বদা বন্ধ হয়ে যায়, যেহেতু পাইথন 2 শব্দার্থবিজ্ঞান হিমায়িত হয় (পিইপি 404), এবং এতে বিডিএফএল এর ফিয়াট দ্বারা পুনরাবৃত্ত কলগুলির জন্য কঠোর সীমাবদ্ধতা রয়েছে ( neopythonic.blogspot.hr/2009/04/final-words-on-tail-calls.html )। ;
পি

2
@ ভেকিকে আপনার মন্তব্যটি উড়িয়ে দেওয়া উচিত ছিল।
কিউয়ার্প-ডের্প

1
এটি লেখা হওয়ার অনেক দিন পরেও, প্রাইমটি 10223*2^31172165 + 1 আবিষ্কার করা হয়েছিল । সেই থেকে, 21181এটি সবচেয়ে ছোট সংখ্যা যার জন্য এটি সিয়েরপিস্কি কিনা তা জানা যায়নি।
জেপ্প স্টিগ নীলসন

4

পাইথ, 16 বাইট

f!}1.u@,/G2h*3GG

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


3
এটি পড়তে সক্ষম না হয়ে, আমি সন্দেহ করি যে আপনার কোড আপনার দাবী ঠিক তেমন করে। আপনি কি প্রথম সংখ্যাটি অনুসন্ধান করেন যা 4-2-1 থেকে আলাদা লুপে যায়? আমি অনুমান করি যে যদি কোনও ছোট সংখ্যা থাকে যা কোনও লুপে শেষ না হয় তবে আপনি এটি পাবেন না। যাইহোক, যদি আপনার কোডটি সেটাই করে তবে এটি শেষ হয়ে যাবে কিনা তা জানার জন্য এটি যথেষ্ট ভাল।
খ্রিস্টান সিভর্স

1
আমি প্রথম পূর্ণসংখ্যটি> = 1 অনুসন্ধান করি যা একটি লুপে যায় এবং সেই লুপের ট্র্যাভারসালের মধ্যে কোথাও 1 থাকে না Ste
স্টিভেন এইচ।

3
এটাই আমার প্রত্যাশা ছিল। তবে কোলাটজ অনুমানটি পূরণ না করার জন্য এটি কোনও সংখ্যার পক্ষে একমাত্র অনুমানযোগ্য উপায় নয়।
খ্রিস্টান সিভর্স

প্রকৃতপক্ষে, এটি প্রমাণিত হয়েছে যে কোলাটজ মানচিত্রের অধীনে প্রতিটি সংখ্যা হয় অনন্তে ডাইভারেজ হয় বা কভারেজ 1-2-2- তে চলে যায়। আপনার কোড কখনই শেষ হবে না। ধারণাটি হ'ল ধাপগুলির ক্রম যা লুপ তৈরি করে একটি সমীকরণ স্থাপন করে, যার একমাত্র সমাধানগুলি 1-2-2, নেতিবাচক মান এবং অ-পূর্ণসংখ্যক যৌক্তিক যুক্তি।
জন ডিভোরাক

3
@ জনডভোরাক আমি এই সত্যটি বিশ্বাস করি না। আপনি একটি উত্স উদ্ধৃত করতে পারেন?
কেএসএফটি

4

আসলে , 16 বাইট

1`;;pY)▒@D÷íu*`╓

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

এই কোডটি যদি সমাপ্ত হয় তবে এমন কিছু সংখ্যক সংখ্যা nরয়েছে যা totient(n)ভাগ করে দেয় n-1( লেহারের সামগ্রিক সমস্যা )।

ব্যাখ্যা:

1`;;pY)▒@D÷íu*`╓
1`            `╓  first integer, starting with 0, where the following function leaves a truthy value on top of the stack:
    pY       *      composite (not prime) and
   ;  )▒            totient(n)
  ;     @D֒u       is in the list of divisors of n-1

4

জেলি , 9 8 বাইট

-1 বাইট @ ডেনিসকে ধন্যবাদ! (এড়াতে গুণকের পরিবর্তে ক্ষয়ক্ষতি ব্যবহার করুন Æṣ(0))

*ḂÆṣ=µ2#

শূন্যের একটি তালিকা এবং ক্ষুদ্রতম বিজোড় নিখুঁত সংখ্যা ফিরিয়ে দেবে , যদি কোনও উপস্থিত থাকে।

কিভাবে?

*ḂÆṣ=µ2# - Main link: no arguments
     µ   - monadic chain separation
      2# - count up from implicit `n=0` and return the first 2 truthy results of
 Ḃ       -     mod 2        -> n%2
*        -     exponentiate -> n**(n%2)  (1 when n is even, n when n is odd)
  Æṣ     -     sum of proper divisors of n**(n%2)
    =    -     equals n?    -> 1 if n is zero or both perfect and odd, else 0


3

পাইথন, 92 বাইট

এটি কোনও কোড গল্ফ প্রতিযোগিতা জিততে পারে না, এবং এর জন্য অসীম স্মৃতি এবং পুনরাবৃত্তির গভীরতা প্রয়োজন, তবে এটি একটি আকর্ষণীয় সমস্যা প্লাগ করার প্রায় সঠিক সুযোগ যা আমি গণিত স্ট্যাকেক্সচেঞ্জে জিজ্ঞাসা করেছি দু'বছর আগে, যে 8 টিরও বেশি কোনও ফিবোনাকির সংখ্যাটি যোগফল নয় দুটি ধনাত্মক কিউব । মজাদারভাবে যথেষ্ট, এটি একটি কোড গল্ফ চ্যালেঞ্জ ধারণা হিসাবে শুরু হয়েছিল, তাই আমি অনুমান করি যে আমি পুরো বৃত্তে এসেছি।

def f(i,j):
 r=range(i)
 for a in r:
  for b in r:
   if a**3+b**3==i:1/0
 f(j,i+j)
f(13,21)

3

পাইথন 2, 123 98 92 বাইট

p=lambda n,k=2:n<=k or n%k*p(n,k+1)
g=lambda n:[p(b)*p(n-b)for b in range(n)]and g(n+2)
g(4)

এই কোডটি সমাপ্ত হবে যদি গোল্ডব্যাক অনুমানটি সমস্ত এমনকি সংখ্যার জন্য ধরে না রাখে (উদাহরণস্বরূপ যদি সমস্ত এমনকি সংখ্যাকে দুটি প্রাইমের যোগফল হিসাবে প্রকাশ করা যায়)। এটি বর্তমানে 4 * 10 ^ 18 পর্যন্ত সংখ্যার জন্য পরীক্ষা করা হয়েছে।

প্রচুর পরিমাণে আমার কোডটি ছোট করার জন্য @ Pietu1998 কে প্রচুর ধন্যবাদ!

সম্পাদনা: আমার কোডটি বন্ধ করে 6 বাইট শেভ করার জন্য @ জোনাথন অ্যালানকে ধন্যবাদ!


আমি মনে করি আপনি এর সাথে 6 বাইট সংরক্ষণ করতে পারবেন g=lambda n:[p(b)*p(n-b)for b in range(n)]and g(n+2)। আমি আরও মনে করি এটি "গোল্ডব্যাচ অনুমান না রাখলে সমাপ্ত হবে" পড়া উচিত ।
জোনাথন অ্যালান

2

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

for(n=[6,9,p=1];!p;n=n.map((x,i)=>(q=n[n.length+~i],p|=x^q,c=q+x+c/10|0)%10).concat(c/10|0||[]))c=p=0

পার্ল উত্তর হিসাবে একই পদ্ধতি ব্যবহার করে: সেট n , তারপরে 10 বারের বিপরীতে 10 বারের বিপরীতে n যুক্ত করে এটি বেস 10 এ প্যালিনড্রোম না হওয়া পর্যন্ত এটি সংক্ষিপ্ত হবে যদি জেএস স্বেচ্ছাচারিতা-যথার্থ সংখ্যার সমর্থন করে তবে ওহ ভাল।


যদিও এটি দীর্ঘ, এটি চালাকভাবে গল্ফযুক্ত, সুতরাং +1।
wizzwizz4


1

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

লিচরেল নম্বর হ'ল একটি প্রাকৃতিক সংখ্যা যা বারে বারে তার অঙ্কগুলি বিপরীত করার এবং ফলস্বরূপ সংখ্যাগুলি যুক্ত করার পুনরাবৃত্ত প্রক্রিয়াটির মাধ্যমে প্যালিনড্রোম তৈরি করতে পারে না।

বেস দশে কোনও লিচরেল সংখ্যা বিদ্যমান বলে প্রমাণিত হয়নি। 196 হ'ল ক্ষুদ্রতম বেস দশ লিচরেল নম্বর প্রার্থী। দেখা গেছে যে, যদি যে শব্দ কবিতা প্রভৃতি উলটা করিয়া পড়িলেও একই থাকে বিদ্যমান (196 উপার্জন না , একটি Lychrel সংখ্যা), এটা অন্তত একটি বিলিয়ন (10 ^ 9) ডিজিটের হবে কারণ মানুষ যে দীর্ঘ অ্যালগরিদম ফেলেছেন।

n=196
while 1:
    x=str(n);r=x[::-1]
    if x!=r:n=n+int(r)
    else:1/0

@ ট্রাইকোপলাক্স আহ, ট্যাবস / স্পেসগুলি "বৈশিষ্ট্য" আবার ধর্মঘট করেছে ...
wizzwizz4

1
অন্য কারও যদি ট্যাব রূপান্তরটি
সহায়তাহীনভাবে পাওয়া

1

জেলি , 7 বাইট

*+3Ẓµ4#

এটি অনলাইন চেষ্টা করুন! (4 নয়, দুটি উপাদান মুদ্রণ করে যাতে আপনি বাস্তবে এটি থামানো দেখতে পান)

এনএনএন+ +3

ব্যাখ্যা

*+3Ẓµ4#
     4#  Find the first four numbers with the following property:
    µ      (bracketing/grouping: place everything to the left inside the loop)
*          {The number} to the power of {itself}
 +3        plus 3
   Ẓ       is prime

0

আর, 30 বাইট, এটি বিতর্কিত কিনা তা তর্কযোগ্য

while(any(sample(2,654,T)>1))1

আর-এর ডিফল্ট এলোমেলো সংখ্যা জেনারেটরের ক্রমাগত 653 মাত্রায় ইক্যুইডিস্ট্রিবিউশন রয়েছে তবে 654 টি মাত্রায় এটি জানা যায় না। সুতরাং সিউডোরেন্ডম সংখ্যার ক্রম থাকতে পারে বা নাও থাকতে পারে যা প্রদত্ত ভেক্টর থেকে সারিতে 654 বার (এখানে ভেক্টর 1:2) সর্বনিম্ন উপাদানটির নমুনা দেয় ।

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


0

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

আমি জানি এটি অন্য অনেকের চেয়ে দীর্ঘ, তবে আমি কতটা ছোট করে এটি দেখতে বেশ সময় ব্যয় করেছি seeing

এই খণ্ডন করার প্রচেষ্টা ক্ষমতা অনুমান এর ইউলার যোগফল জন্য k=6(সেখানে Diophantine সমীকরণ কোন ধনাত্মক পূর্ণসংখ্যা সমাধান বিদ্যমান A^6+B^6+C^6+D^6+E^6==F^6, যার জন্য কোন counterexample পাওয়া গেছে)।

R=[1]
while 1:R+=[R[-1]+1];eval(("[1/("+"+%s**6"*5+"!=%%s**6)%s]"%("for %s in R "*6))%(*"ABCDEF"*2,))

পাইথন 2 এ (104 বাইট):

R=[1]
while 1:R+=[R[-1]+1];eval(("[1/("+"+%s**6"*5+"!=%%s**6)%s]"%("for %s in R "*6))%tuple("ABCDEF"*2))

কম গল্ফড:

x=2
while 1:
    R=range(1,x)
    [1/(A**6+B**6+C**6+D**6+E**6!=F**6)for F in R for E in R for D in R for C in R for B in R for A in R]
    x+=1

কোনও ইওল ছাড়াই ম্যাথির সংস্করণ:

R=range
x=2
while 1:
    for i in R(x**6):1/(sum(map(lambda x:x**6,[1+(i%x**-~j/x**j)for j in R(6)]))-i%x-1)
    x+=1

বিকল্প রেফারেন্স: অ্যালার্স অফ পাওয়ার অফ কনকজচার - ম্যাথ ওয়ার্ল্ড


0

পাইথন, 68 বাইট

n=2
while"".join(str((i+2)**n)[0]for i in range(8))!="23456789":n+=1

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

একটির উত্তর দিন করার চেষ্টা করে Gelfand প্রশ্নগুলির

  1. "23456789" সারিটি কি n> 1 এর জন্য উপস্থিত হবে? এন <= 10 ^ 5 এর জন্য কোনও কিছুই করে না। ...

0

ক্লোজার, 154 বাইট

(loop[x 82001](if(= 0(reduce +(map{true 1 false 0}(for[y(range 3 6)](true?(for[z(str(range 2 y))](.indexOf z(Integer/toString x y))))))))x(recur(inc x))))

Base২,০০০ এর উপরে একটি সংখ্যা আছে কিনা তা যাচাই করে যে কেবল বেস ২ এর জন্য কেবল বেস 5 এর জন্য 0 এবং 1 এর রয়েছে other অন্য কথায়, এই ক্রমের আরও একটি নম্বর আছে কিনা তা এটি পরীক্ষা করে ।

যে বিশেষ গ্রুপ, সেখানে মাত্র 3 নম্বর আছে: 0, 1এবং 82,000। সেই নিয়ম অনুসরণ করে এমন আরও কোনও সংখ্যা নেই যা আনুমানিকের চেয়ে কম 3*10^19723


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