একের পর এক OEIS


95

13/03/2018 16:45 ইউটিসি পর্যন্ত বিজয়ী # 345 উত্তর দ্বারা Scrooble । এর অর্থ হ'ল প্রতিযোগিতাটি আনুষ্ঠানিকভাবে শেষ হয়েছে, তবে নিয়মগুলি অনুসরণ করে যতক্ষণ না উত্তর পোস্ট করা চালিয়ে নিতে নির্দ্বিধায় মনে হয়।

পাশাপাশি, উত্তরের সংখ্যার বিচারে শীর্ষস্থানীয় তিন জন উত্তরদাতাকে কেবল শীঘ্রই চিৎকার করুন:

1. নিডজেজেকোব - 41 টি উত্তর

2. কেএসমার্টস - 30 টি উত্তর

৩. হাইপার নিউট্রিনো - ২ answers টি উত্তর


এটি একটি উত্তর শৃঙ্খলাবদ্ধ প্রশ্ন যা ওইআইএসের ক্রম এবং পূর্ববর্তী জমা দেওয়ার দৈর্ঘ্য ব্যবহার করে।

এই উত্তর শৃঙ্খলাবদ্ধ প্রশ্নটি নিম্নলিখিত উপায়ে কাজ করবে:

  • আমি প্রথম উত্তর পোস্ট করব। অন্যান্য সমস্ত সমাধান অবশ্যই তা থেকে শুরু করা উচিত।
  • পরবর্তী ব্যবহারকারী (আসুন তাদের ব্যবহারকারী বলা যাক) ওইআইএস ক্রমটি খুঁজে পাবেন যার সূচক নম্বর (নীচে দেখুন) আমার কোড দৈর্ঘ্যের সমান as
  • ক্রমটি ব্যবহার করে, তাদের অবশ্যই কোড, অব্যবহৃত ভাষায় , এমন একটি প্রোগ্রামের দরকার যা একটি পূর্ণসংখ্যা ইনপুট হিসাবে গ্রহণ করে, n এবং সেই অনুক্রমের নবম সংখ্যাটিকে আউটপুট করে।
  • এর পরে, তারা আমার পরে তাদের সমাধান পোস্ট করে এবং একটি নতুন ব্যবহারকারীকে (ইউজারবি) অবশ্যই একই জিনিসটি পুনরাবৃত্তি করতে হবে।

nএকটি ক্রম তম শব্দটি শব্দটি এন প্রথম পর বার প্রথম মান তার OEIS পৃষ্ঠাতে দেওয়া প্রথম মান হচ্ছে সঙ্গে কাজ করছে। এই প্রশ্নে, আমরা এই সিকোয়েন্সগুলির জন্য 0-সূচি ব্যবহার করব । উদাহরণস্বরূপ, A000242 এর সাথে এবং n = 3সঠিক ফলাফলটি 25 হবে

যাহোক!

এটি কোনও , তাই সংক্ষিপ্ততম কোডটি কোনও বিষয় নয়। তবে আপনার কোডের দৈর্ঘ্যের এখনও প্রভাব রয়েছে। সিকোয়েন্সগুলির সদৃশতা প্রতিরোধ করতে আপনার বাইটোক্যান্টটি অবশ্যই অনন্য হতে হবে । এর অর্থ এখানে জমা দেওয়া অন্য কোনও প্রোগ্রাম আপনার বাইটে একই দৈর্ঘ্য হতে পারে না ।

যদি সর্বশেষ পোস্টের দৈর্ঘ্যের জন্য কোনও সিকোয়েন্স না থাকে তবে আপনার পোস্টের ক্রমটি সর্বনিম্ন অব্যবহৃত ক্রম। এর অর্থ হ'ল ব্যবহৃত সিকোয়েন্সগুলিও অনন্য হতে হবে, এবং ক্রমটি আপনার বাইটকাউন্টের মতো হতে পারে না।

একটি উত্তর পোস্ট করার পরে এবং কোনও নতুন উত্তর এক সপ্তাহের বেশি পোস্ট করা হয়নি, শেষ পোস্টের আগে উত্তরটি (যিনি চেইনটি ভাঙ্গেন না) জিতবে।

ইনপুট এবং আউটপুট

জেনেরিক ইনপুট এবং আউটপুট বিধি প্রযোজ্য। ইনপুট অবশ্যই একটি পূর্ণসংখ্যা বা একটি পূর্ণসংখ্যার স্ট্রিং উপস্থাপনা এবং আউটপুট অবশ্যই ক্রমের সঠিক মান হওয়া উচিত।

বিন্যাস

বেশিরভাগ প্রশ্নগুলির মতো, দয়া করে আপনার উত্তরটি মতো করুন

# N. language, length, [sequence](link)

`code`

[next sequence](link)

*anything else*

বিধি

  • উত্তর পোস্ট করার আগে আপনাকে পোস্ট করার পরে কমপক্ষে 1 ঘন্টা অপেক্ষা করতে হবে।
  • আপনি একনাগাড়ে দু'বার (বা আরও) পোস্ট করতে পারবেন না।
  • অনুক্রমের সূচী সংখ্যাটি Aঅংশের পরে সংখ্যা এবং শীর্ষস্থানীয় শূন্যগুলি অপসারণ সহ (যেমন A000040সূচী সংখ্যাটি 40)
  • আপনি ধরে নিতে পারেন যে ইনপুট বা প্রয়োজনীয় আউটপুট উভয়ই আপনার ভাষাগুলির সংখ্যার পরিসরের বাইরে থাকবে না, তবে দয়া করে উদাহরণস্বরূপ, কেবল 1 নম্বরটি ব্যবহার করতে পারে এমন কোনও ভাষা চয়ন করে এটি ব্যবহার করবেন না।
  • আপনার জমা দেওয়ার দৈর্ঘ্য যদি 65536 টির বেশি অক্ষরের বেশি হয় তবে দয়া করে কোডটি অ্যাক্সেস করার জন্য একটি লিঙ্ক সরবরাহ করুন (উদাহরণস্বরূপ পেস্টবিন)।
  • n কোনও ভাষার প্রতিযোগিতা থেকে বিরত রাখতে নির্ভুলতার ত্রুটিগুলি রোধ করার জন্য 1000 এর চেয়ে বড় কখনও হবে না বা অনুক্রমের সীমার বাইরে থাকবে না।
  • প্রতি 150 (বৈধ) জবাব, কোনও ভাষা ব্যবহৃত হতে পারে তার সংখ্যা বৃদ্ধি পায়। সুতরাং 150 টি সমাধান পোস্ট করার পরে, প্রতিটি ভাষা দু'বার ব্যবহার করা যেতে পারে (পূর্ববর্তী সমস্ত উত্তরগুলির সাথে এটি গণনা করা হচ্ছে)। উদাহরণস্বরূপ, যখন 150 টি উত্তর পোস্ট করা হয়েছে, পাইথন 3 দুটিবার ব্যবহার করা যেতে পারে তবে এটি ইতিমধ্যে একবার ব্যবহার করা হয়েছে এর কারণে, এর অর্থ 300 টি উত্তর পোস্ট না হওয়া পর্যন্ত এটি কেবল একবার ব্যবহার করা যেতে পারে।
  • দয়া করে সহায়ক হন এবং পরবর্তী ক্রম ব্যবহারের জন্য একটি লিঙ্ক পোস্ট করুন। এটি প্রয়োজনীয় নয়, তবে এটি একটি সুপারিশ।
  • ভাষার বিভিন্ন সংস্করণ, যেমন পাইথন 2 এবং পাইথন 3 বিভিন্ন ভাষা । একটি সাধারণ নিয়ম হিসাবে, বিভিন্ন সংস্করণ যদি উভয়ই চেষ্টা করে দেখুন অনলাইনে উপলভ্য হয় তবে সেগুলি আলাদা আলাদা ভাষা, তবে মনে রাখবেন যে এটি একটি সাধারণ নিয়ম এবং অনমনীয় উত্তর নয়।
  • এটি নিষিদ্ধ নয়, তবে দয়া করে ওইআইএস পৃষ্ঠা থেকে কোডটি অনুলিপি না করার চেষ্টা করুন এবং আসলে এটি সমাধান করার চেষ্টা করুন।
  • ক্রম সীমাবদ্ধ থাকলেই হার্ডকোডিং অনুমোদিত। দয়া করে মনে রাখবেন যে উত্তরটি এটির ( # 40 ) নির্দেশ করে তা নিয়মের ব্যতিক্রম। চেইন হার্ডকোডের প্রথম দিকে কয়েকটি উত্তর, তবে এগুলি উপেক্ষা করা যেতে পারে, যেহেতু, # 100 বলুন, চেইনটি মুছতে কোনও ভাল নেই।

উত্তর চেনির স্নিপেট


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ডেনিস

বৃহত্তর মান নির্ধারণের জন্য যদি কোনও প্রোগ্রামটির বিল্টিন float/ doubleটাইপের জন্য আরও ভাল ভাসমান-পয়েন্ট নির্ভুলতার প্রয়োজন হয় তবে তা কি ঠিক আছে n?
NieDzejkob

1
@ জিউসেপ না, আপনি যেমন একটি অ্যারে / স্ট্রিংয়ে রাখার পরিবর্তে গণিতগুলি করে সংখ্যাটি তৈরি করছেন
সিয়ার্ড কোইনারিংহিংস

2
আমার মতে এটি গামা ধ্রুবককে হার্ডকড করছে। এটি বৃহত্তর সংখ্যার জন্য "তত্ত্ব অনুসারে" কাজ করে না।
ব্যবহারকারী 202729

উত্তর:


4

345. ব্রেইনফাক , 162 বাইট, A000301

+<<,[>>[>]<<[>>+>+<<<-]>>>[<<<+>>>-]<<[>+>+<<-]>>[<<+>>-]<[<]<-]>>[>]+<[-]++<[>[>>+>+<<<-]>>>[<<<+>>>-]<<[>[>+>+<<-]>>[<<+>>-]<<<-]>[-]>[<<+>>-]<<<<-]>>too golfy.

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

পরের ক্রম!

এটি কোড পয়েন্ট n(বিএফ এর চশমা দ্বারা) এবং একই পদ্ধতিতে আউটপুট সহ অক্ষরটিকে ইনপুট হিসাবে গ্রহণ করে । সংখ্যার দেখার জন্য, আমি ব্যবহার @ Timwi এর সুপারিশ EsotericIDE

ব্যাখ্যা:

+<<,                                  Initialize the tape with the first two Fibonacci numbers. Take loop counter from input.
[                                     n times:
  >>[>]                                 Move to the end of the tape. 
  <<[>>+>+<<<-]>>>[<<<+>>>-]            Add fib(n-2)...
  <<[>+>+<<-]>>[<<+>>-]                 and fib(n-1). Store on the end of the tape.
  <[<]<-                                Move back to start of tape. Update loop counter.
]                                     End loop.
>>[>]+<[-]++<                         Delete the extra Fibonacci number and prepare for exponentiation. 
[                                     fib(n) times:
  >[>>+>+<<<-]>>>[<<<+>>>-]<<           Copy the base (2) to preserve it.
  [>[>+>+<<-]>>[<<+>>-]<<<-]            Multiply what started as a 1 by the base.
  >[-]>[<<+>>-]<<<<-                    Clean up and update loop counter.
]                                     End loop.
>>too golfy.                          Add some bytes, for all sequences <162 had been used. Print result. 

যেহেতু এটি সমস্ত ফিবোনাচি সংখ্যক গুরুত্বপূর্ণ পর্যন্ত সংরক্ষণ করে, এটি একটি আবদ্ধ টেপটিতে সত্যিই বড় ইনপুটটির জন্য ব্যর্থ হবে।

এটি বেস (2) এর হার্ডকোডিং দ্বারা উল্লেখযোগ্যভাবে সংক্ষিপ্ত করা যেতে পারে তবে গল্ফনেস কোনও বিষয় নয়।


পরবর্তী উত্তর (# 346) চেইনটি ভেঙে দেওয়ার সাথে সাথে আপনার উত্তরটি বিজয়ী!
কেয়ার্ড কইনারিংহিংহিং

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

@ স্ক্রুবল আপনি সত্যিই দৈর্ঘ্যটি পরিবর্তন করতে পারবেন না ...
নিডজেজেকোব

@ নিডজেজেকোব হ্যাঁ, তবে একই দৈর্ঘ্য বজায় রাখতে আমি গল্ফ এবং আরও কিছু প্যাডিং যুক্ত করতে পারি।
খুলদ্রেশেথ না'বাড়িয়া

@ কায়ারডকোইনরিঙ্গিংহিং "চেইন ভাঙল"? ওটার মানে কি?
ম্যাজিক অক্টোপাস আরন

40

22. ফাইম ++ , 982 বাইট, A000024

দ্রষ্টব্য : আপনি যদি এটি পড়ছেন তবে আপনি "প্রাচীনতম" অনুসারে বাছাই করতে চাইতে পারেন

Dear PPCG: I solved A000024!

I learned how to party to get a number using the number x and the number y.
Did you know that the number beers was x?
For every number chug from 1 to y,
  beers became beers times x!
That's what I did.
Then you get beers!
That's all about how to party.

Today I learned how to do math to get a number using the number n.
Did you know that the number answer was 0?
For every number x from 1 to n,
  For every number y from 1 to n,
    Did you know that the number tmp1 was how to party using x and 2?
    Did you know that the number tmp2 was how to party using y and 2?
    Did you know that the number max was how to party using 2 and n?
    tmp2 became tmp2 times 10!
    tmp1 became tmp1 plus tmp2!
    If tmp1 is more than max then: answer got one more.
  That's what I did.
That's what I did.
Then you get answer!
That's all about how to do math.

Your faithful student, BlackCap.

PS:  This is the best answer
PPS: This really is the best answer

পরবর্তী ক্রম


10
হাহাহা, পুরো জিনিসটির মধ্যে দিয়ে এত শক্ত করে হেসেছিল। ভাষার পছন্দের জন্য +1 :-)
ইটিএইচ প্রোডাকশনস

আশ্চর্যজনক, আমার
উপভোগ করুন

22

1. ত্রিকোণ , 10 বাইট, A000217

$\:_%i/2*<

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

নেক্সট সিকোয়েন্স

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

এই ত্রিভুজটিতে কোড ফর্ম্যাট করে

   $
  \ :
 _ % i
/ 2 * <

আইপি শুরু করে $এবং চলন্ত দক্ষিণ পূর্ব (এসই, হিহ) এর সাথে কাজ করে:

$            Take a numerical input (n);     STACK = [n]
 :           Duplicate it;                   STACK = [n, n]
  i          Increment the ToS;              STACK = [n, n+1]
   <         Set IP to W;                    STACK = [n, n+1]
    *        Multiply ToS and 2ndTos;        STACK = [n(n+1)]
     2       Push 2;                         STACK = [n(n+1), 2]
      /      Set IP to NE;                   STACK = [n(n+1), 2]
       _     Divide ToS by 2ndToS;           STACK = [n(n+1)/2]
        \    Set IP to SE (heh);             STACK = [n(n+1)/2]
         %   Output ToS as number;           STACK = [n(n+1)/2]
          *  Multiply ToS by 2ndToS (no op); STACK = [n(n+1)/2]

13
1. ত্রিভুজাকার, 10 বাইট, A000217। * লিঙ্কটি অনুসরণ করে * A000217 Triangular numbers...
এমডি এক্সএফ

22

73. স্টারারি , 363 বাইট, A000252

, +      + *     '.     `
 + + + +  *  *  *  +     
 +`      +*       +    ` 
 + +   +  + +   + *  '   
   +   '  ####`  + +   + 
 + +    ####  +*   +    *
    '  #####  +      + ' 
  `    ######+  + +   +  
+ +   + #########   * '  
 +   +  + #####+ +      +
*  +      + * +  *  *   +
   +  *  + + + +  *  *   
+   +  +   *   + `  + +  
 +  + +   + *'    +    +.

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

পরবর্তী ক্রম

a(n) = n^4 * product p^(-3)(p^2 - 1)*(p - 1)OEIS থেকে " যেখানে পণ্যটি সমস্ত প্রাইম পি বিভাজক n" এর উপরে রয়েছে সেই সূত্রটি ব্যবহার করে ।

চাঁদটি কোনও অপ-অফ, তবে ওহে, এটি কোড-গল্ফ নয়।


চাঁদে তারা? Hmmm
betseg

19

97. পাইথন 3 (পাইপাই) , 1772 বাইট, এ 1000236

প্রথমত, আমার সাথে ধৈর্য ধরার জন্য ডাঃ ম্যাক্স আলেকসেয়েভকে অনেক ধন্যবাদ। আমি খুব ভাগ্যবান যে এই চ্যালেঞ্জটি বুঝতে আমি ইমেলের মাধ্যমে তার সাথে যোগাযোগ করতে সক্ষম হয়েছিলাম। তার ম্যাথ.এসই উত্তর এখানে আমাকে অনেক সাহায্য করেছে। আমাকে সহায়তা করার জন্য গম উইজার্ডকেও ধন্যবাদ। :)

plist = []

def primes(maximal = -1): # Semi-efficient prime number generator with caching up to a certain max.
	index = plist and plist[-1] or 2
	for prime in plist:
		if prime <= maximal or maximal == -1: yield prime
		else: break
	while index <= maximal or maximal == -1:
		composite = False
		for prime in plist:
			if index % prime == 0:
				composite = True
				break
		if not composite:
			yield index
			plist.append(index)
		index += 1

def modinv(num, mod): # Multiplicative inverse with a modulus
	index = 1
	while num * index % mod != 1: index += 1
	return index

def moddiv(num, dnm, mod):
	return num * modinv(dnm, mod) % mod

def isPowerResidue(num, exp, mod):
	for base in range(mod):
		if pow(base, exp, mod) == num:
			return base
	return False

def compute(power, prime):
	for num in range(2, prime):
		if isPowerResidue(moddiv(num - 1, num, prime), power, prime):
			return num - 1
	return -1

# file = open('output.txt', 'w')

def output(string):
	print(string)
	# file.write(str(string) + '\n')

def compPrimes(power, count):
	maximum = 0
	index = 0
	for prime in getValidPrimes(power, count):
		result = compute(power, prime)
		if result > maximum: maximum = result
		index += 1
		# output('Computed %d / %d = %d%% [result = %d, prime = %d]' % (index, count, (100 * index) // count, result, prime))
	return maximum

def isValidPrime(power, prime):
	return (prime - 1) % power == 0

def getValidPrimes(power, count):
	collected = []
	for prime in primes():
		if isValidPrime(power, prime):
			collected.append(prime)
		if len(collected) >= count:
			return collected
		# output('Collected %d / %d = %d%% [%d]' % (len(collected), count, (100 * len(collected)) // count, prime))

power = int(input()) + 2

output(compPrimes(power, 100))

# file.close()

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

যদি এটি ভুল ফলাফল দেয় তবে 100 টি আরও বড় কিছুতে বাড়ান। আমি মনে করি 10000 4 এর জন্য কাজ করবে তবে আমি এটি নিশ্চিত করতে রাতারাতি কম্পিউটার চালিয়ে যাব; এটি শেষ হতে কয়েক ঘন্টা সময় নিতে পারে।

মনে রাখবেন যে (পাইপাই) অংশটি ঠিক তাই যাতে আমি আবার পাইথন ব্যবহার করতে পারি। আমি সত্যিই অন্যান্য অনেক ভাষা জানি না এবং আমি এটি জাভাতে পোর্ট করার চেষ্টা করব না এবং সময়মতো শেষ না হওয়ার ঝুঁকি নিয়ে যাব।

পরবর্তী সিকোয়েন্স (এছাড়াও দয়া করে আর কোনও পাগল ম্যাথ স্টাফ করবেন না; আমার কাছে পাইথনের কোনও সংস্করণ বাকি নেই তাই অন্য কাউকে এই চ্যালেঞ্জটি ডি সংরক্ষণ করতে হবে ডি :)


ঠিক আছে সবসময় পাইপাই 3
এএসসিআইআই কেবল

15

107. ট্রাম্পস্ক্রিপ্ট , 1589 বাইট, A000047

My cat hears everything really well
because with me every cat is a safe cat
Everybody knows that one is 1000001 minus 1000000
but only most of you that two is, one plus one;
As always nothing is, one minus one;
My dog is one year old.
I promise you that as long as you vote on me, nothing will be less cool than a cat;:
Much dog is, dog times two;
Dead cat is, cat minus one;!
I will make dog feel good, food for dog plus one;
Roads can be made using different things. Asphalt is one of them.
As long as Hillary jailed, I love asphalt less than my dog;:
Roads are, always made using asphalt plus one of other things;
I promise my roadways are, two times asphalt than you want;
My roadways are great, always roadways plus one;
Vladimir is nothing more than my friend.
Name of Putin is Vladimir.
As long as, Putin eat less roadways;:
China is nothing interesting.
We all know people speaking Chinese are from China.
As long as, Chinese makes less roads;:
I will make economy, for Putin - Chinese will love me;
If it will mean, economy is asphalt in Russia?;:
I will make cat feel good, cat plus one dollar on food;
Make Vladimir roadways to help Russia economy.
Never make china roads!
I show you how great China is, China plus one; You can add numbers to China.
Like Chinese is, China times China makes sense;
Like Chinese is, two times Chinese letter;!
Make Vladimir happy, Vladimir plus one million dollars;
I also show you how great Putin is, Vladimir times Vladimir; You can do number stuff to Putin too!
I will make asphalt roads a lot!
Everybody say cat. You did it? America is great.

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

ট্রাম্পস্ক্রিপ্টে প্রথমবারের প্রোগ্রামিং, এটি সম্ভব যে আমি চাকাটি কয়েকবার পুনর্নবীকরণ করেছি - 4 টি লাইন 2 calc n গণনা করার জন্য উত্সর্গীকৃত। আমি এটিকে এমন কিছু দেখার মতো করার চেষ্টা করেছি যা (মাতাল) ট্রাম্প বলতে পারে। বোনাস হিসাবে, আমি এখানে পাইথন স্ক্রিপ্ট যাচাই করার জন্য লিখেছিলাম যে আমি সবকিছু ঠিকঠাক করছি। উপরের প্রোগ্রামে কিছু পার্থক্য রয়েছে তবে এর বেশিরভাগই সরাসরি সমতুল্য।

cat = int(input())
dog = 2 ** cat + 1
asphalt = 1
cat = 0
while asphalt < dog:
    roads = asphalt + 1
    roadways = 2 * asphalt + 1
    vladimir = 0
    putin = vladimir
    while putin < roadways:
        china = 0
        chinese = china
        while chinese < roads:
            chair = putin - chinese
            if chair == asphalt:
                cat += 1
                vladimir = roadways
                china = roads
            china += 1
            chinese = 2 * china * china
        vladimir += 1
        putin = vladimir * vladimir
    asphalt = roads
print(cat)

পরের ক্রম!


3
I will make cat feel goodও_ও
বিজনেস বিড়াল

দুঃখজনকভাবে I will make Business Cat feel goodকাজ করবে না ...
NieDzejkob

14

30. পাইথন 1 , 1112 বাইট, A000046

def rotations(array):
	rotations = []
	for divider_index in range(len(array)):
		rotations.append(array[divider_index:] + array[:divider_index])
	return rotations

def next(array):
	for index in range(len(array) - 1, -1, -1):
		array[index] = 1 - array[index]
		if array[index]: break
	return array

def reverse(array):
	reversed = []
	for index in range(len(array) - 1, -1, -1):
		reversed.append(array[index])
	return reversed

def primitive(array):
	for index in range(1, len(array)):
		if array == array[:index] * (len(array) / index): return 1
	return 0

def necklaces(size):
	previous_necklaces = []
	array = [0] * size
	necklaces = 0
	for iteration in range(2 ** size):
		if not primitive(array) and array not in previous_necklaces:
			necklaces = necklaces + 1
			for rotation in rotations(array):
				complement = []
				for element in rotation:
					complement.append(1 - element)
				previous_necklaces.append(rotation)
				previous_necklaces.append(complement)
				previous_necklaces.append(reverse(rotation))
				previous_necklaces.append(reverse(complement))
		array = next(array)
	return necklaces

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

এমনকি এটি গল্ফ বিরক্ত করতে যাচ্ছে না। আরে, এই সাইটে এটি আমার দীর্ঘতম পাইথন উত্তর নয়!

পরবর্তী ক্রম


1
গণিতের ডিকোডিংয়ের জন্য অভিনন্দন: ডি
লিকি নুন


@ ল্যাকইনুন আমি যেমন বলছিলাম, আমি এই লোলকে গল্ফ দিতে বিরক্ত করিনি। তদ্ব্যতীত, এটি এই সাইটে আমার দীর্ঘতম পাইথন উত্তর নয় তাই
আইডিসি

@ ল্যাকিয়ুন এবং ধন্যবাদ: ডি এর সব কিছু বুঝতে
পেরে

@ লেকিউন 309 বাইটস কারণ এর আসল মান _অপ্রাসঙ্গিক; আমাদের কেবল এটি বহুবার পুনরাবৃত্তি করতে হবে
হাইপারনিউটারিনো

13

2. হাস্কেল, 44 বাইট, A000010

f k|n<-k+1=length.filter(==1)$gcd n<$>[1..n]

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

নেক্সট সিকোয়েন্স


12
পরবর্তী ক্রমের নাম যদিও ...
সম্পূর্ণমানবিক

@ টোটালিহুমান দরিদ্র খরগোশ ...
এরিক দি আউটগল্ফার

আমাদের কি আগের পোস্টের সাথে লিঙ্ক করা উচিত?
লিকি নুন

এটা আমার কষ্ট দেয় যে আমি এখন এটি গল্ফ করতে পারি না। আমি আপনাকে দেখতে প্রথম হয়েছিলাম
ব্ল্যাকক্যাপ

পরের ক্রমটি কী? আমি তিনটি বুঝতে পারি না: পি
বিটা ডেকে

13

9. পাইথ , 19 বাইট, A000025

?>Q0sm@_B1-edld./Q1

টেস্ট স্যুট

পরবর্তী ক্রম

a (n) = বিজোড় র‌্যাঙ্কের সাথে এমনকি র‌াইন বিয়োগ সংখ্যা সহ n এর পার্টিশনের সংখ্যা। পার্টিশনের র‌্যাঙ্কটি তার বৃহত্তম অংশ বিয়োগ অংশের সংখ্যা।


যারা পাইথ জানেন তাদের জন্য আমি ইচ্ছাকৃত >Q0পরিবর্তে QA000019 হওয়ার পরের ক্রমটি ব্যবহার করার পরিবর্তে ব্যবহার করেছি।
লিকি নুন

1
Keywords: easy,nice
ওইআইএস

@ লিকিউন হ্যাঁ, অন্যথায় আমাকে A000017 ... স্থূল সমাধান করতে হবে।
এরিক আউটগল্ফার

12

8. গণিত (10.1), 25 বাইট, A000070 00

Tr@PartitionsP@Range@#+1&

পরবর্তী ক্রম


ম্যাথমেটিকাকে ব্যবহারের জন্য সঠিক ক্রম।
লিকি নুন

1
A000025 একটি অবিশ্বাস্যরকম কঠিন একটি। পরিবর্তে A000026 পেতে আপনার বাইট যুক্ত করা উচিত। : পি
এমডি এক্সএফ

12

206. প্রোটন , 3275 বাইট, A000109

# This took me quite a while to write; if it's wrong, please tell me and I'll try to fix it without changing the byte count..

permutations = x => {
	if len(x) == 0 return [ ]
	if len(x) == 1 return [x]
	result = []
	for index : range(len(x)) {
		for permutation : permutations(x[to index] + x[index + 1 to]) {
			result.append([x[index]] + permutation)
		}
	}
	return result
}

adjacency = cycles => {
	cycles = cycles[to]
	size = cycles.pop()
	matrix = [[0] * size for i : range(size)]
	for cycle : cycles {
		i, j, k = cycle[0], cycle[1], cycle[2]
		matrix[i][j] = matrix[i][k] = matrix[j][i] = matrix[j][k] = matrix[k][i] = matrix[k][j] = 1
	}
	return matrix
}

transform = a => [[a[j][i] for j : range(len(a[i]))] for i : range(len(a))]

isomorphic = (a, b) => {
	return any(sorted(b) == sorted(transform(A)) for A : permutations(transform(a)))
}

intersection = (a, b) => [x for x : a if x in b]

union = (a, b) => [x for x : a if x not in b] + list(b)

validate = graph => {
	matrix = adjacency(graph)
	rowsums = map(sum, matrix)
	r = 0
	for s : rowsums if s + 1 < graph[-1] r++
	return 2 || r
}

graphs = nodes => {
	if nodes <= 2 return []
	if nodes == 3 return [[(0, 1, 2), 3]]
	result = []
	existing = []
	for graph : graphs(nodes - 1) {
		graph = graph[to]
		next = graph.pop()
		for index : range(len(graph)) {
			g = graph[to]
			cycle = g.pop(index)
			n = g + [(cycle[0], cycle[1], next), (cycle[1], cycle[2], next), (cycle[2], cycle[0], next), next + 1]
			N = sorted(adjacency(n))
			if N not in existing {
				existing += [sorted(transform(a)) for a : permutations(transform(adjacency(n)))]
				result.append(n)
			}
			for secondary : index .. len(graph) - 1 {
				g = graph[to]
				c1 = g.pop(index)
				c2 = g.pop(secondary)
				q = union(c1, c2)
				g = [k for k : g if len(intersection(k, intersection(c1, c2))) <= 1]
				if len(intersection(c1, c2)) == 2 {
					for i : range(3) {
						for j : i + 1 .. 4 {
							if len(intersection(q[i, j], intersection(c1, c2))) <= 1 {
								g.append((q[i], q[j], next))
							}
						}
					}
				}
				g.append(next + 1)
				N = sorted(adjacency(g))
				if N not in existing {
					existing += [sorted(transform(a)) for a : permutations(transform(adjacency(g)))]
					result.append(g)
				}
				for tertiary : secondary .. len(graph) - 2 {
					g = graph[to]
					c1 = g.pop(index)
					c2 = g.pop(secondary)
					c3 = g.pop(tertiary)
					q = union(union(c1, c2), c3)
					g = [k for k : g if len(intersection(k, intersection(c1, c2))) <= 1 and len(intersection(k, intersection(c2, c3))) <= 1]
					if len(q) == 5 and len(intersection((q1 = intersection(c1, c2)), (q2 = intersection(c2, c3)))) <= 1 and len(q1) == 2 and len(q2) == 2 {
						for i : range(4) {
							for j : i + 1 .. 5 {
								if len(intersection(q[i, j], q1)) <= 1 and len(intersection(q[i, j], q2)) <= 1 {
									g.append((q[i], q[j], next))
								}
							}
						}
						g.append(next + 1)
						N = sorted(adjacency(g))
						if N not in existing {
							existing += [sorted(transform(a)) for a : permutations(transform(adjacency(g)))]
							result.append(g)
						}
					}
				}
			}
		}
	}
	return [k for k : result if max(sum(k[to -1], tuple([]))) + 1 == k[-1] and validate(k)]
}

x = graphs(int(input()) + 3)
print(len(x))

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

নেক্সট সিকোয়েন্স


দাঁড়াও, তুমি আসলে এটা করেছ? আপনি যদি এই ফ্রিকিং প্রোগ্রামগুলির সাথে একটি কাগজ না লিখে এবং কোনও অধ্যাপকের সাথে কথা বলে যান তবে আপনি দুর্দান্ত কিছু নিয়ে যাচ্ছেন: পি
স্টিফেন

@ স্টেফেন বর্তমানে লোগুলি বাগফিক্সিং
হাইপারনিউট্রিনো

এটি কি প্ল্যান্ট্রি হিসাবে বিভক্ত ত্রিভুজ, স্কোয়ার এবং পেন্টাগনগুলির পদ্ধতির? দেখে মনে হচ্ছে এটি হতে পারে তবে কিছু সিনট্যাক্স অপরিচিত।
পিটার টেলর

1
@ পিটারটেলর ধরেই নিচ্ছেন যে আপনি যে বর্ণনা দিচ্ছেন তা আমি বুঝতে পেরেছি, হ্যাঁ, এটি ত্রিভুজগুলির সন্ধান করে এবং সমস্ত 3 টি কোণ, বা দুটি সংলগ্ন চক্রের সাথে সংলগ্ন একটি শীর্ষবিন্দু স্থাপন করে এবং সাধারণ প্রান্তটি মুছে ফেলে এবং 3 টি ত্রিভুজগুলির জন্য একই, সমস্ত 4 সংলগ্ন একটি শীর্ষবিন্দু স্থাপন করে একটি পেন্টাগনে আমি মনে করি এটিই আপনি বর্ণনা করছেন।
হাইপারনিউট্রিনো


12

308. ENIAC (সিমুলেটর) , 3025 বাইট, A006060

সুডোকোড:

repeat{
    M←input
    N←-M
    A←1
    B←253
    while(N<0){
        C←60
        C←C-A
        repeat(194){
            C←C+B
        }
        A←B
        B←C
        N←N+1
    }
    output←A
}

কোনও অনলাইন সিমুলেটর নেই, কার্যকর করার ফলাফল: কার্ড রিডার ইনপুট পাঞ্চ কার্ড আউটপুট

নিবন্ধ এবং ধ্রুবক:

A: 1-2
B: 3-4
C: 5-6
M: 7
N: 8

input: const. A
253: const. J
60: const. K
194: Master programmer decade limit 1B

প্রোগ্রাম সিগন্যাল প্রবাহ এবং ডেটা প্রবাহ: প্রোগ্রাম সংকেত প্রবাহ এবং ডেটা ফ্লো চার্ট

এই উত্তরটির মার্কআপে পেস্টবিনে বা এইচটিএমএল মন্তব্যে পূর্ণ "কোড" , একইসাথে লিঙ্করোট এবং স্ক্রোলের জন্য দীর্ঘ দীর্ঘ উত্তর রোধ করতে। এটা মজা!

পরবর্তী ক্রম


আপনি কি পরের সিকোয়েন্সে একটি লিঙ্ক যুক্ত করতে পারেন দয়া করে
জাকারিয়া

@ জাচারý লিঙ্কটি পোস্টে রয়েছে। আমি এটিকে পোস্টের শেষে সরিয়ে দেব যাতে এটি সন্ধান করা আরও সহজ।
লিও 3065

12

15. সিজেম, 85 বাইট, এ 1000060

{ee\f{\~\0a*@+f*}:.+}:C;2,qi:Q,2f+{_ee1>{~2*\,:!X*X<a*~}%{CX<}*W=+}fX_0a*1$_C.- .+Q)=

অনলাইন ডেমো

পরবর্তী ক্রম

ব্যবচ্ছেদ

ওইআইএস দেয়

জিএফ: এস (এক্স) + এস (এক্স ^ 2) -এস (এক্স) ^ 2, যেখানে এস (এক্স) হল A000151 এর জন্য জেনারেটর ফাংশন। - পাব টের, 12 অক্টোবর 2005

কোথায়

S(x)=xi11(1xi)2s(i)=xi1(1+xi+x2i+)2s(i)
{           e# Define a block to convolve two sequences (multiply two polynomials)
  ee\f{     e#   Index one and use the other as an extra parameter for a map
    \~\0a*  e#     Stack manipulations; create a sequence of `index` 0s
    @+f*    e#     Shift the extra parameter poly and multiply by the coefficient
  }
  :.+       e#   Fold pointwise add to sum the polys
}:C;        e# Assign the block to C (for "convolve")
2,          e# Initial values of S: S(0) = 0, S(1) = 1
qi:Q        e# Read integer and assign it to Q
,2f+{       e# For X = 2 to Q+1
  _ee1>     e#   Duplicate accumulator of S, index, and ditch 0th term
  {         e#   Map (over notional variable i)
    ~2*\    e#     Double S(i) and flip i to top of stack
    ,:!     e#     Create an array with a 1 and i-1 0s
    X*X<    e#     Replicate X times and truncate to X values
            e#     This gives g.f. 1/(1-x^i) to the first X terms
    a*~     e#     Create 2S(i) copies of this polynomial
  }%
  {CX<}*    e#   Fold convolution and truncation to X terms
  W=+       e#   Append the final coefficient, which is S(X), to the accumulator
}fX
_0a*        e# Pad a copy to get S(X^2)
1$_C        e# Convolve two copies to get S(X)^2
.-          e# Pointwise subtraction
 .+         e# Pointwise addition. Note the leading space because the parser thinks
            e# -. is an invalid number
Q)=         e# Take the term at index Q+1 (where the +1 adjusts for OEIS offset)

আমার থেকে 1 মিনিট 33 সেকেন্ড এগিয়ে ... আমি ব্যাখ্যাটি টাইপ করার সময়
লীকি নুন

11

67. ললকোডি , 837 বাইট, A000043

HAI 1.2
  CAN HAS STDIO?

  I HAS A CONT ITZ 0
  I HAS A ITRZ ITZ 1
  I HAS A NUMBAH
  GIMMEH NUMBAH
  NUMBAH R SUM OF NUMBAH AN 1

  IM IN YR GF
    ITRZ R SUM OF ITRZ AN 1

    I HAS A PROD ITZ 1
    IM IN YR MOM UPPIN YR ASS WILE DIFFRINT ITRZ AN SMALLR OF ITRZ AN ASS
      PROD R PRODUKT OF PROD AN 2
    IM OUTTA YR MOM
    PROD R DIFF OF PROD AN 1

    I HAS A PRAIME ITZ WIN
    I HAS A VAR ITZ 1
    IM IN YR MOM
      VAR R SUM OF VAR AN 1
      BOTH SAEM VAR AN PROD, O RLY?
        YA RLY, GTFO
      OIC
      BOTH SAEM 0 AN MOD OF PROD AN VAR, O RLY?
        YA RLY
          PRAIME R FAIL
          GTFO
      OIC
    IM OUTTA YR MOM

    BOTH SAEM PRAIME AN WIN, O RLY?
      YA RLY, CONT R SUM OF CONT AN 1
    OIC

    BOTH SAEM NUMBAH AN CONT, O RLY?
      YA RLY, GTFO
    OIC
  IM OUTTA YR GF

  VISIBLE ITRZ
KTHXBYE

আমার ক্যাপস্লক কীটি পালাতে বাধ্য, তাই আমি শিফট ধরে থাকাকালীন এই পুরো জিনিসটি লিখেছিলাম ..

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

পরবর্তী ক্রম


ব্যবহারের জন্য +1PRAIME
লিকি নুন

3
আপনি একটি প্রোগ্রামার, আপনি এই লিখিত হতে পারে এবং তারপর একটি পাইথন স্ক্রিপ্ট যে মাধ্যমে এটি চালানোর করছি upper'd এটা -.-
স্টিফেন

5
@ স্টেপহেন বা কেবলমাত্র gggUGআমি যেখানে লিখেছি সেখানে vim এ, তবে আমি সেই চালাক নই
ব্ল্যাকক্যাপ

10

10. ম্যাগমা, 65 বাইট, A000019

f:=function(n);return NumberOfPrimitiveGroups(n+1);end function;

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

লোল বিল্টিন

পরবর্তী ক্রম


@ ইথ প্রডাকশনস :) কোনও সমস্যা নেই, ওইআইএস পৃষ্ঠাটিকে ধন্যবাদ জানুন যদিও এতে ঠিক
বিল্টইন

4
;: _; আমি A000064 সমাধান করেছি এবং আপনি এটি পরিবর্তন করেছেন। Downvoted।
লিকি নুন


পাইথনে ( টিআইও ) এটি করার চেষ্টা করার সময় আমি ঘটনাক্রমে A007317 সমাধান করেছি : পি
ইটিএইচ প্রোডাকশনগুলি

পুনরায় upvoted! \ o /
লিকি নুন


9

121. পাইপ , 525 বাইট, A000022

n:(a+1)//2
t:[[0]RL(3*a+3)PE1]
Fh,n{
  m:([0]RL(3*a+3))
  Fi,(a+1){
    Fj,(a+1){
      Fk,(a+1)m@(i+j+k)+:(t@h@i)*(t@h@j)*(t@h@k)
      m@(i+2*j)+:3*(t@h@i)*(t@h@j)
    }
    m@(3*i)+:2*(t@h@i)
  }
  t:(tAE(m//6PE1))
}
k:t@n
o:0
Fh,aFi,aFj,aI(h+i+j<a)o+:(k@h)*(k@i)*(k@j)*k@(a-1-h-i-j)
Fh,((a+1)//2){
  Fi,aI(2*h+i<a){o+:6*(k@h)*(k@i)*(k@(a-1-2*h-i))}
  I(a%2=1)o+:3*(k@h)*(k@((a-1-2*h)//2))
}
Fh,((a+2)//3)o+:8*(k@h)*(k@(a-1-3*h))
I(a%4=1)o+:6*k@(a//4)
o//:24
Ia(o+:t@n@a)
Fh,nFj,(a+1)o-:(t@(h+1)@j-t@h@j)*(t@(h+1)@(a-j))
o

অনলাইন ডেমো

পরবর্তী ক্রম

মজাদার ঘটনা: যখন চ্যালেঞ্জটি প্রথম পোস্ট করা হয়েছিল, তখন আমি সিজোমের সাথে লক্ষ্য রাখতে চেয়েছিলাম এমন ছোট ছোট দুষ্টু ক্রমের সংখ্যাগুলির একটি তালিকা এঁকেছিলাম এবং A000022 তালিকার শীর্ষে ছিল।

এটি ইএম রেইনস এবং এনজেএ স্লোয়ানে বর্ণিত জেনারেটিং ফাংশন বাস্তবায়িত করে , ক্যানির অ্যালকানেস (বা 4-ভ্যালেন্ট ট্রি) এর এনুমারেশন , পূর্ণসংখ্যার সিকোয়েন্সস, খণ্ড। 2 (1999), তম সহগের স্থির করার জন্য প্রয়োজনীয় হিসাবে যতগুলি শর্তের জন্য যোগফলটি নিয়ে যায় এবং তারপরে যোগফলের তিনটি চতুর্থাংশ দূরবীণ করে। বিশেষত, প্রথমার্ধে টেলিস্কোপিংয়ের অর্থ হল যে কেবলমাত্র চক্র সূচকটি তাদের সবার পরিবর্তে একটিতে প্রয়োগ করতে হবে।CknS4Th

কোডটি ভেঙে যায়

; Calculate the relevant T_h
t:[[0]RL(3*a+3)PE1]
Fh,n{
  m:([0]RL(3*a+3))
  Fi,(a+1){
    Fj,(a+1){
      Fk,(a+1)m@(i+j+k)+:(t@h@i)*(t@h@j)*(t@h@k)
      m@(i+2*j)+:3*(t@h@i)*(t@h@j)
    }
    m@(3*i)+:2*(t@h@i)
  }
  t:(tAE(m//6PE1))
}

; Calculate the cycle index of S_4 applied to the last one
k:t@n
o:0
Fh,aFi,aFj,aI(h+i+j<a)o+:(k@h)*(k@i)*(k@j)*k@(a-1-h-i-j)
Fh,((a+1)//2){
  Fi,aI(2*h+i<a){o+:6*(k@h)*(k@i)*(k@(a-1-2*h-i))}
  I(a%2=1)o+:3*(k@h)*(k@((a-1-2*h)//2))
}
Fh,((a+2)//3)o+:8*(k@h)*(k@(a-1-3*h))
I(a%4=1)o+:6*k@(a//4)
o//:24

; Handle the remaining convolution,
; pulling out the special case which involves T_{-2}
Ia(o+:t@n@a)
Fh,nFj,(a+1)o-:(t@(h+1)@j-t@h@j)*(t@(h+1)@(a-j))

মনে রাখবেন এটি আমার প্রথম পাইপ প্রোগ্রাম, তাই সম্ভবত খুব বুদ্ধিমানের নয়।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ডেনিস

9

156. সি # (মনো), 2466 বাইট, A000083

দ্রষ্টব্য: কোডটির জন্য স্কোরটি 2439 বাইট এবং সংকলক পতাকার জন্য 27 টি -reference:System.Numerics

using Num = System.Numerics.BigInteger;
namespace PPCG
{
    class A000083
    {
        static void Main(string[] a)
        {
            int N = int.Parse(a[0]) + 1;

            var phi = new int[N + 1];
            for (int i = 1; i <= N; i++)
                phi[i] = 1;
            for (int p = 2; p <= N; p++)
            {
                if (phi[p] > 1) continue;
                for (int i = p; i <= N; i += p)
                    phi[i] *= p - 1;
                int pa = p * p;
                while (pa <= N)
                {
                    for (int i = pa; i <= N; i += pa)
                        phi[i] *= p;
                    pa *= p;
                }
            }

            var aik = new Num[N + 1, N + 1];
            var a035350 = new Num[N + 1];
            var a035349 = new Num[N + 1];
            aik[0, 0] = aik[1, 1] = a035350[0] = a035350[1] = a035349[0] = a035349[1] = 1;
            for (int n = 2; n <= N; n++)
            {
                // A000237 = EULER(A035350)
                Num nbn = 0;
                for (int k = 1; k < n; k++)
                    for (int d = 1; d <= k; d++)
                        if (k % d == 0) nbn += d * a035350[d] * aik[1, n - k];
                aik[1, n] = nbn / (n - 1);

                // Powers of A000237 are used a lot
                for (int k = 2; k <= N; k++)
                    for (int i = 0; i <= n; i++)
                        aik[k, n] += aik[k - 1, i] * aik[1, n - i];

                // A035350 = BIK(A000237)
                Num bn = 0;
                for (int k = 1; k <= n; k++)
                {
                    bn += aik[k, n];
                    if (k % 2 == 1)
                        for (int i = n & 1; i <= n; i += 2)
                            bn += aik[1, i] * aik[k / 2, (n - i) / 2];
                    else if (n % 2 == 0)
                        bn += aik[k / 2, n / 2];
                }
                a035350[n] = bn / 2;

                // A035349 = DIK(A000237)
                Num dn = 0;
                for (int k = 1; k <= n; k++)
                {
                    // DIK_k is Polyà enumeration with the cyclic group D_k
                    // The cycle index for D_k has two parts: C_k and what Bower calls CPAL_k
                    // C_k
                    Num cikk = 0;
                    for (int d = 1; d <= k; d++)
                        if (k % d == 0 && n % d == 0)
                            cikk += phi[d] * aik[k / d, n / d];
                    dn += cikk / k;

                    // CPAL_k
                    if (k % 2 == 1)
                        for (int i = 0; i <= n; i += 2)
                            dn += aik[1, n - i] * aik[k / 2, i / 2];
                    else
                    {
                        Num cpalk = 0;
                        for (int i = 0; i <= n; i += 2)
                            cpalk += aik[2, n - i] * aik[k / 2 - 1, i / 2];
                        if (n % 2 == 0)
                            cpalk += aik[k / 2, n / 2];
                        dn += cpalk / 2;
                    }
                }
                a035349[n] = dn / 2;
            }

            // A000083 = A000237 + A035350 - A000237 * A035349
            var a000083 = new Num[N + 1];
            for (int i = 0; i <= N; i++)
            {
                a000083[i] = aik[1, i] + a035349[i];
                for (int j = 0; j <= i; j++) a000083[i] -= aik[1, j] * a035350[i - j];
            }

            System.Console.WriteLine(a000083[N - 1]);
        }
    }
}

অনলাইন ডেমো । এটি একটি সম্পূর্ণ প্রোগ্রাম যা কমান্ড লাইন থেকে ইনপুট নেয়।

পরবর্তী ক্রম

ব্যবচ্ছেদ

আমি ওইআইএস-এ বোয়েনের মন্তব্য অনুসরণ করি যে জেনারেটিং ফাংশন A000083(x) = A000237(x) + A035349(x) - A000237(x) * A035350(x)যেখানে উপাদান তৈরির ফাংশনগুলি রূপান্তর দ্বারা সম্পর্কিত হয়

  • A000237(x) = x EULER(A035350(x))
  • A035350(x) = BIK(A000237(x))
  • A035349(x) = DIK(A000237(x))

আমি সংজ্ঞা ব্যবহার BIKএবং DIKথেকে https://oeis.org/transforms2.html কিন্তু সূত্র টাইপস একটি নম্বর আছে বলে মনে হচ্ছে। আমি LPALখুব বেশি অসুবিধা ছাড়াই সংশোধন করেছিলাম , এবং পৃথকভাবে ডিহাইড্রাল গ্রুপের চক্রDIK সূচকগুলিতে পলিয়া গণনার প্রয়োগের ভিত্তিতে একটি সূত্র তৈরি করেছি । # 121 এবং # 156 এর মধ্যে আমি পলিয়া গণনার বিষয়ে অনেক কিছু শিখছি। আমি কিছু ত্রুটি-বিচ্যুতি জমা দিয়েছি , যা যদি এই রূপান্তরগুলি আবার শৃঙ্খলে ফিরে আসে তবে অন্যান্য লোকের পক্ষে এটি কার্যকর হতে পারে।



8

13. VB.NET (.NET 4.5), 1246 বাইট, A000131

Public Class A000131
    Public Shared Function Catalan(n As Long) As Long
        Dim ans As Decimal = 1
        For k As Integer = 2 To n
            ans *= (n + k) / k
        Next
        Return ans
    End Function
    Shared Function Answer(n As Long) As Long

        n += 7

        Dim a As Long = Catalan(n - 2)

        Dim b As Long = Catalan(n / 2 - 1)
        If n Mod 2 = 0 Then
            b = Catalan(n / 2 - 1)
        Else
            b = 0
        End If

        Dim c As Long = Catalan(n \ 2 - 1) ' integer division (floor)

        Dim d As Long
        If n Mod 3 = 0 Then
            d = Catalan(n / 3 - 1)
        Else
            d = 0
        End If

        Dim e As Long = Catalan(n / 4 - 1)
        If n Mod 4 = 0 Then
            e = Catalan(n / 4 - 1)
        Else
            e = 0
        End If

        Dim f As Long = Catalan(n / 6 - 1)
        If n Mod 6 = 0 Then
            f = Catalan(n / 6 - 1)
        Else
            f = 0
        End If

        Return (
                    a -
                    (n / 2) * b -
                    n * c -
                    (n / 3) * d +
                    n * e +
                    n * f
                ) /
                (2 * n)
    End Function
End Class

A001246

অনলাইনে চেষ্টা করে দেখুন!


8

91. পাইথন 2 (পাইপাই) , 1733 বাইট, A000066

import itertools

girth = int(input()) + 3

v = 4

r = range

def p(v):
	a = [0 for i in r(v)]
	k = int((v * 2) ** .5)
	a[k - 1] = a[k - 2] = a[k - 3] = 1
	j = len(a) - 1
	for i in r(1, 3):
		a[j] = 1
		j -= i
	yield [x for x in a]
	while not all(a):
		for index in r(len(a) - 1, -1, -1):
			a[index] ^= 1
			if a[index]: break
		yield [x for x in a]

def wrap_(p, v):
	m = [[0 for j in r(v)] for i in r(v)]
	k = 0
	for i in r(0, v - 1):
		for j in r(i + 1, v):
			m[i][j] = m[j][i] = p[k]
			k += 1
	return m

def completes_cycle(edgelist):
	if not edgelist or not edgelist[1:]: return False
	start = edgelist[0]
	edge = edgelist[0]
	e = [x for x in edgelist]
	edgelist = edgelist[1:]
	while edgelist:
		_edges = [_edge for _edge in edgelist if _edge[0] in edge or _edge[1] in edge]
		if _edges:
			edgelist.remove(_edges[0])
			if _edges[0][1] in edge: _edges[0] = (_edges[0][1], _edges[0][0])
			edge = _edges[0]
		else:
			return False
	flat = sum(e, ())
	for i in flat:
		if flat.count(i) != 2: return False
	return edge[1] in start

def powerset(a):
	return sum([list(itertools.combinations(a, t)) for t in r(len(a))], [])

while True:
	ps = (v * (v - 1)) // 2
	skip = False
	for Q in p(ps):
		m = wrap_(Q, v)
		output = [row + [0] for row in m]
		output.append([0 for i in r(len(m[0]))])
		for i in r(len(m)):
			output[i][-1] = sum(m[i])
			output[-1][i] = sum(row[i] for row in m)
		if all(map(lambda x: x == 3, map(sum, m))):
			edges = []
			for i in r(v):
				for j in r(i, v):
					if m[i][j]: edges.append((i, j))
			for edgegroup in powerset(edges):
				if completes_cycle(list(edgegroup)):
					if len(edgegroup) == girth:
						print(v)
						exit(0)
					else:
						skip = True
						break
		if skip: break
	v += 1

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

আমি আশা করি পাইথন 2 পিপিপি গণনা অন্য একটি বড় সংস্করণ হিসাবে ব্যবহার করেছি। যদি কেউ আমার কাছে পাইথন 0 দোভাষী পান তবে আমি এটিও ব্যবহার করতে পারি তবে আমি আশা করি এটি কার্যকর হবে valid

এটি 1 ভার্টেক্স থেকে শুরু হয়ে কাজ করে, সেই অনেকগুলি শীর্ষে দিয়ে প্রতিটি সম্ভাব্য পুনর্নির্দেশিত গ্রাফের সংলগ্ন ম্যাট্রিক্স উপস্থাপনা তৈরি করে। যদি এটি তুচ্ছ হয়, তবে এটি প্রান্তগুলির পাওয়ারশিটের মাধ্যমে দেখা হবে, যা দৈর্ঘ্য অনুসারে বাছাই করা হবে। এটি খুঁজে পাওয়া প্রথম চক্রটি যদি খুব ছোট হয় তবে এটি এগিয়ে যাবে it যদি প্রথম চক্রটি খুঁজে পায় এটি ইনপুটটির সাথে মিলিত হয় (3 দ্বারা অফসেট) তবে এটি সঠিক মেরুদণ্ডের গণনা আউটপুট করবে এবং শেষ হবে।

পরবর্তী সিকোয়েন্স <- এই সমস্ত গণিতের বাজে কথা থেকে বিরতি হিসাবে একটি সহজ করুন: ডি

সম্পাদনা : এটিকে কিছুটা দ্রুত করার জন্য আমি কিছু অপ্টিমাইজেশান যুক্ত করেছি (এখনও টিআইওর second০ সেকেন্ডের মধ্যে তৃতীয় পদটি গণনা করতে পারি না) যদিও বাইট্যাক্ট পরিবর্তন না করে।


... এবং আমি গুরুত্ব সহকারে ভাবছিলাম যে 90 এর উত্তর দিয়ে চেইনটি শেষ হবে
পিপ্পারি

1
@ পিপ্পেরি :) আমি কঠোর চ্যালেঞ্জগুলি করতে পছন্দ করি কারণ বেশিরভাগ লোকেরা সমাধানও করতে পারে না ফলে আউটগল্ফ হওয়ার কথা চিন্তা করার দরকার নেই :) (যেমন কার্বন চেইন নামক সমস্যা)
হাইপারনেট্রিনো

কেউ যদি আপনার সমাধান না নেয় এবং এটিকে একটি
নিখরচায়

@ পিপ্পেরি এটিও ও_ও: পি
হাইপার নিউট্রিনো

1
@ হাইপারনিউট্রিনো যে সমাধানের জন্য অভিনন্দন! আমি চিন্তিত ছিলাম যে আমি চেইনটি ভেঙে দিয়েছি, এবং বাইট গণনাটি প্যাডিংয়ের কথা বিবেচনা করে একটি অন্য ক্রমের দিকে নির্দেশ করছি। সাবাশ!
স্কট মিলনার

8

232. পাঙ্কি , 326 330 332 বাইট, A000938

function gcd (a, b) {
    while (b != 0) {
        c = a % b;
        a = b;
        b = c;
    };
    return a;
}

function A000938 (n) {
    n = n + 2;
    ans = 0;
    for (m = 2; m <= n; ++m) {
        for (k = 2; k <= n; ++k) {
            ans = ans + (((n - k) + 1) * ((n - m) + 1) * gcd(k - 1, m - 1));
        }
    }
    ans = (2 * ans) - (
        (n*n) *
        ((n*n)-1) / 6
    );
    return ans;
}

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

জাভাস্ক্রিপ্ট সহ বহুভুজ। এটি অনলাইন চেষ্টা করুন!

পরবর্তী ক্রম


নিষ্পাপের O(n^2 log n)পরিবর্তে জটিলতার জন্য OEIS পৃষ্ঠায় সূত্রটি ব্যবহার করুন O(n^6)

দ্রুত ব্যাখ্যা:

  • এই কোডটি a[n_] := 2*Sum[(n - k + 1)*(n - m + 1)*GCD[k - 1, m - 1], {m, 2, n}, {k, 2, n}] - n^2*((n^2 - 1)/6)ম্যাথমেটিকা ​​কোড বিভাগে বর্ণিত সূত্র ব্যবহার করে ।
  • সূত্র প্রমাণ:

    • সূত্র সমতূল্য এই

    • তিন পয়েন্টের বাউন্ডিং বক্সের আকার হওয়া যাক m * k। ২ টি ক্ষেত্রে বিবেচনা করুন:

      • k != 0এবং m != 0: তিনটি পয়েন্টের ( \বা /) দৃষ্টিভঙ্গি বাছাই করার 2 টি উপায় gcd(k-1, m-1)-1রয়েছে, অন্য 2 পয়েন্টের মধ্যে পয়েন্টটি বেছে নেওয়ার (n - k) × (n - m)উপায় এবং বাউন্ডিং বক্সের অবস্থান চয়ন করার উপায়গুলি।
      • k == 0বা m == 0: অরিয়েন্টেশন বাছাই করার 2 টি উপায় রয়েছে ( |বা -), nপয়েন্টগুলিতে থাকা সারি / কলামটি বেছে নেওয়ার উপায় এবং সেই সারি / কলামের পয়েন্টগুলি Binomial[n, 3] == (n*(n-1)*(n-2)) / 6বেছে নেওয়ার উপায়।

কিছু বহুগ্লোট নোট:

  • ফানকি সত্যিই কীওয়ার্ড রাখে না return। যাইহোক, এটিাকো যেমন ব্যাখ্যা করেছেন , [ ফানকি ] ভাবছেন returnএকটি পরিবর্তনশীল। সুতরাং এটি সেই এক্সপ্রেশনটিকে পার্স করছে, যা স্বাচ্ছন্দ্যে কিছুই করে না, তার পরের এক্সপ্রেশনটিকে বিশ্লেষণ করে। এবং এটি আউটপুট হিসাবে ব্যবহৃত হয়।
  • জাভাস্ক্রিপ্ট ^বিটওয়াইজ জোর হিসাবে ব্যবহার করুন , ফানকি থেকে ভিন্ন যা এক্সপেনশনেশন ^হিসাবে ব্যবহার করে । সুতরাং জাভাস্ক্রিপ্টের সামঞ্জস্যতা নিশ্চিত করার n*nপরিবর্তে ব্যবহার করতে হবে n^2
  • পাঙ্কি, সব অপারেটর ( +, -, *, ইত্যাদি) তাই এক্সপ্রেশন সঠিকভাবে আলাদা করা প্রয়োজন, সমান প্রাধান্য এবং ডান-মিশুক আছে।

1
+1 বহুবিবাহের আশা করছিল না।
এটাকো

কোনও পেন্টাগনি নেই, তবে হেক্সাগনি ভাল ফিট করে।
নিডজেজেকব

এই বাইটোকন্টটি ইতিমধ্যে ব্যবহৃত হয়েছিল ... লিঙ্ক
NieDzejkob

সুতরাং, বাইটকাউন্ট সমস্যার সমাধান করতে, আপনি দয়া করে এই উত্তরটি 330 বাইটে প্যাড করতে পারেন? বাকিটা আমি সামলে নেব।
নিডিজেককব

[বাইটকাউন্ট বিরোধী ইস্যুগুলির কারণে 332 বাইটের উত্তর প্যাড করুন, এই চ্যাট বার্তাটি দেখুন ]
ব্যবহারকারী 202729

8

১১.পরি / জিপি, by৪ বাইট, A000065

{a(n) = if( n<0, 0, polcoeff ( 1 / eta(x + x*O(x^n) ), n) - 1)};

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

পরবর্তী ক্রম


এটা কি বৈধ ইনপুট?
লিকি নুন

Didya আছে 64 বাইট পেতে? : পি
সম্পূর্ণমানবিক

@ টোটালিহুমান হ্যাঁ:;_; I solved A000064 and you changed it. Downvoted.
স্টিফেন

নিবন্ধন করুন চ্যাট দেখুন
হাইপারনিউটারিনো


8

281. জাভা 5, 11628 বাইট, A000947

// package oeis_challenge;

import java.util.*;
import java.lang.*;

class Main {

//  static void assert(boolean cond) {
//      if (!cond)
//          throw new Error("Assertion failed!");
//  }

    /* Use the formula a(n) = A000063(n + 2) - A000936(n).
    It's unfair that I use the formula of "number of free polyenoid with n
    nodes and symmetry point group C_{2v}" (formula listed in A000063)
    without understanding why it's true...
    */

    static int catalan(int x) {
        int ans = 1;
        for (int i = 1; i <= x; ++i)
            ans = ans * (2*x+1-i) / i;
        return ans / -~x;
    }

    static int A63(int n) {
        int ans = catalan(n/2 - 1);
        if (n%4 == 0) ans -= catalan(n/4 - 1);
        if (n%6 == 0) ans -= catalan(n/6 - 1);
        return ans;
    }

    static class Point implements Comparable<Point> {
        final int x, y;
        Point(int _x, int _y) {
            x = _x; y = _y;
        }

        /// @return true if this is a point, false otherwise (this is a vector)
        public boolean isPoint() {
            return (x + y) % 3 != 0;
        }

        /// Translate this point by a vector.
        public Point add(Point p) {
            assert(this.isPoint() && ! p.isPoint());
            return new Point(x + p.x, y + p.y);
        }

        /// Reflect this point along x-axis.
        public Point reflectX() {
            return new Point(x - y, -y);
        }

        /// Rotate this point 60 degrees counter-clockwise.
        public Point rot60() {
            return new Point(x - y, x);
        }

        @Override
        public boolean equals(Object o) {
            if (!(o instanceof Point)) return false;
            Point p = (Point) o;
            return x == p.x && y == p.y;
        }

        @Override
        public int hashCode() {
            return 21521 * (3491 + x) + y;
        }

        public String toString() {
            // return String.format("(%d, %d)", x, y);
            return String.format("setxy %d %d", x * 50 - y * 25, y * 40);
        }

        public int compareTo(Point p) {
            int a = Integer.valueOf(x).compareTo(p.x);
            if (a != 0) return a;
            return Integer.valueOf(y).compareTo(p.y);
        }

        /// Helper class.
        static interface Predicate {
            abstract boolean test(Point p);
        }

        static abstract class UnaryFunction {
            abstract Point apply(Point p);
        }

    }

    static class Edge implements Comparable<Edge> {
        final Point a, b; // guarantee a < b
        Edge(Point x, Point y) {
            assert x != y;
            if (x.compareTo(y) > 0) { // y < x
                a = y; b = x;
            } else {
                a = x; b = y;
            }
        }

        public int compareTo(Edge e) {
            int x = a.compareTo(e.a);
            if (x != 0) return x;
            return b.compareTo(e.b);
        }
    }

    /// A graph consists of multiple {@code Point}s.
    static class Graph {
        private HashMap<Point, Point> points;

        public Graph() {
            points = new HashMap<Point, Point>();
        }

        public Graph(Graph g) {
            points = new HashMap<Point, Point>(g.points);
        }

        public void add(Point p, Point root) {
            assert(p.isPoint());
            assert(root.isPoint());
            assert(p == root || points.containsKey(root));
            points.put(p, root);
        }

        public Graph map(Point.UnaryFunction fn) {
            Graph result = new Graph();
            for (Map.Entry<Point, Point> pq : points.entrySet()) {
                Point p = pq.getKey(), q = pq.getValue();
                assert(p.isPoint()) : p;
                assert(q.isPoint()) : q;
                p = fn.apply(p); assert(p.isPoint()) : p;
                q = fn.apply(q); assert(q.isPoint()) : q;
                result.points.put(p, q);
            }
            return result;
        }

        public Graph reflectX() {
            return this.map(new Point.UnaryFunction() {
                public Point apply(Point p) {
                    return p.reflectX();
                }
            });
        }

        public Graph rot60() {
            return this.map(new Point.UnaryFunction() {
                public Point apply(Point p) {
                    return p.rot60();
                }
            });
        }

        @Override
        public boolean equals(Object o) {
            if (o == null) return false;
            if (o.getClass() != getClass()) return false;
            Graph g = (Graph) o;
            return points.equals(g.points);
        }

        @Override
        public int hashCode() {
            return points.hashCode();
        }

        Graph[] expand(Point.Predicate fn) {
            List<Graph> result = new ArrayList<Graph>();

            for (Point p : points.keySet()) {
                int[] deltaX = new int[] { -1, 0, 1, 1,  0, -1};
                int[] deltaY = new int[] {  0, 1, 1, 0, -1, -1};
                for (int i = 6; i --> 0;) {
                    Point p1 = new Point(p.x + deltaX[i], p.y + deltaY[i]);
                    if (points.containsKey(p1) || !fn.test(p1)
                        || !p1.isPoint()) continue;

                    Graph g = new Graph(this);
                    g.add(p1, p);
                    result.add(g);
                }
            }

            return result.toArray(new Graph[0]);
        }

        public static Graph[] expand(Graph[] graphs, Point.Predicate fn) {
            Set<Graph> result = new HashSet<Graph>();

            for (Graph g0 : graphs) {
                Graph[] g = g0.expand(fn);
                for (Graph g1 : g) {
                    if (result.contains(g1)) continue;
                    result.add(g1);
                }
            }

            return result.toArray(new Graph[0]);
        }

        private Edge[] edges() {
            List<Edge> result = new ArrayList<Edge>();
            for (Map.Entry<Point, Point> pq : points.entrySet()) {
                Point p = pq.getKey(), q = pq.getValue();
                if (p.equals(q)) continue;
                result.add(new Edge(p, q));
            }
            return result.toArray(new Edge[0]);
        }

        /**
         * Check if two graphs are isomorphic... under translation.
         * @return {@code true} if {@code this} is isomorphic
         * under translation, {@code false} otherwise.
         */
        public boolean isomorphic(Graph g) {
            if (points.size() != g.points.size()) return false;
            Edge[] a = this.edges();
            Edge[] b = g.edges();
            Arrays.sort(a);
            Arrays.sort(b);

            // for (Edge e : b)
                // System.err.println(e.a + " - " + e.b);
            // System.err.println("------- >><< ");

            assert (a.length > 0);
            assert (a.length == b.length);
            int a_bx = a[0].a.x - b[0].a.x, a_by = a[0].a.y - b[0].a.y;
            for (int i = 0; i < a.length; ++i) {
                if (a_bx != a[i].a.x - b[i].a.x || 
                    a_by != a[i].a.y - b[i].a.y) return false;
                if (a_bx != a[i].b.x - b[i].b.x || 
                    a_by != a[i].b.y - b[i].b.y) return false;
            }

            return true;
        }

        // C_{2v}.
        public boolean correctSymmetry() {

            Graph[] graphs = new Graph[6];
            graphs[0] = this.reflectX();
            for (int i = 1; i < 6; ++i) graphs[i] = graphs[i-1].rot60();
            assert(graphs[5].rot60().isomorphic(graphs[0]));
            int count = 0;
            for (Graph g : graphs) {
                if (this.isomorphic(g)) ++count;
                // if (count >= 2) {
                    // return false;
                // }
            }
            // if (count > 1) System.err.format("too much: %d%n", count);
            assert(count > 0);
            return count == 1; // which is, basically, true
        }

        public void reflectSelfType2() {
            Graph g = this.map(new Point.UnaryFunction() {
                public Point apply(Point p) {
                    return new Point(p.y - p.x, p.y);
                }
            });

            Point p = new Point(1, 1);
            assert (p.equals(points.get(p)));

            points.putAll(g.points);

            assert (p.equals(points.get(p)));
            Point q = new Point(0, 1);
            assert (q.equals(points.get(q)));
            points.put(p, q);
        }

        public void reflectSelfX() {
            Graph g = this.reflectX();
            points.putAll(g.points); // duplicates doesn't matter
        }

    }

    static int A936(int n) {
        // if (true) return (new int[]{0, 0, 0, 1, 1, 2, 4, 4, 12, 10, 29, 27, 88, 76, 247, 217, 722, 638, 2134, 1901, 6413})[n];

        // some unreachable codes here for testing.
        int ans = 0;

        if (n % 2 == 0) { // reflection type 2. (through line 2x == y)
            Graph[] graphs = new Graph[1];
            graphs[0] = new Graph();

            Point p = new Point(1, 1);
            graphs[0].add(p, p);

            for (int i = n / 2 - 1; i --> 0;)
                graphs = Graph.expand(graphs, new Point.Predicate() {
                    public boolean test(Point p) {
                        return 2*p.x > p.y;
                    }
                });

            int count = 0;
            for (Graph g : graphs) {
                g.reflectSelfType2();
                if (g.correctSymmetry()) {
                    ++count;

                    // for (Edge e : g.edges())
                        // System.err.println(e.a + " - " + e.b);
                    // System.err.println("------*");

                    }
                // else System.err.println("Failed");
            }

            assert (count%2 == 0);

            // System.err.println("A936(" + n + ") count = " + count + " -> " + (count/2));

            ans += count / 2;

        }

        // Reflection type 1. (reflectX)

        Graph[] graphs = new Graph[1];
        graphs[0] = new Graph();

        Point p = new Point(1, 0);
        graphs[0].add(p, p);

        if (n % 2 == 0) graphs[0].add(new Point(2, 0), p);

        for (int i = (n-1) / 2; i --> 0;)
            graphs = Graph.expand(graphs, new Point.Predicate() {
                public boolean test(Point p) {
                    return p.y > 0;
                }
            });

        int count = 0;
        for (Graph g : graphs) {
            g.reflectSelfX();
            if (g.correctSymmetry()) {
                ++count;
                // for (Edge e : g.edges())

                    // System.err.printf(

                // "pu %s pd %s\n"
                // // "%s - %s%n"

                // , e.a, e.b);
                // System.err.println("-------/");

            }
            // else System.err.println("Failed");
        }

        if(n % 2 == 0) {
            assert(count % 2 == 0);
            count /= 2;
        }
        ans += count;

        // System.err.println("A936(" + n + ") = " + ans);

        return ans;
    }

    public static void main(String[] args) {

        // Probably
        if (! "1.5.0_22".equals(System.getProperty("java.version"))) {
            System.err.println("Warning: Java version is not 1.5.0_22");
        }

        // A936(6);

        for (int i = 0; i < 20; ++i)
            System.out.println(i + " | " + (A63(i+9) - A936(i+7)));
        //A936(i+2);
    }
}

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


সাইড নোট:

  1. জাভা 5 দিয়ে স্থানীয়ভাবে পরীক্ষিত (যেমন সতর্কতাটি প্রিন্ট করা হয়নি - টিআইও ডিবাগ ট্যাব দেখুন)
  2. না। কখনো। ব্যবহার করুন। জাভা। 1. এটি সাধারণভাবে জাভার চেয়ে বেশি ভার্বোজ।
  3. এটি চেইনটি ভেঙে দিতে পারে।
  4. ফাঁকটি (7 দিন এবং 48 মিনিট) এই উত্তরের তৈরি ফাঁকটির চেয়ে বেশি নয় যা পূর্ববর্তীটির চেয়ে 7 দিন এবং 1 ঘন্টা 25 মিনিট পরে ।
  5. বড় বাইকাউন্টে নতুন রেকর্ড! যেহেতু আমি (ভুল করে?) ট্যাবগুলির পরিবর্তে ফাঁকা স্থান ব্যবহার করি, তাই বাইকাউন্টগুলি প্রয়োজনের চেয়ে বড়। আমার মেশিনে এটি 9550 বাইট। (এই সংশোধনটি লেখার সময়)
  6. পরবর্তী ক্রম
  7. কোডটি, তার বর্তমান আকারে, কেবল ক্রমের প্রথম 20 টি পদ মুদ্রণ করে। তবে এটি যাতে পরিবর্তন করতে এটি প্রথম 1000 আইটেম ছাপে হবে সহজ (পরিবর্তনের ফলে 20for (int i = 0; i < 20; ++i)থেকে 1000)

হ্যাঁ! এটি OEIS পৃষ্ঠায় তালিকাবদ্ধের চেয়ে আরও শর্তগুলি গণনা করতে পারে! (প্রথমবারের জন্য, চ্যালেঞ্জের জন্য আমার জাভা ব্যবহার করা দরকার) যদি না ওইআইএসের আরও কোথাও শর্ত না থাকে ...


দ্রুত ব্যাখ্যা

ক্রম বর্ণনার ব্যাখ্যা।

অনুক্রমটি প্রতিসম গ্রুপ সি 2 ভি সহ বিনামূল্যে ননপ্লানার পলিনয়েডের সংখ্যার জন্য জিজ্ঞাসা করে , যেখানে:

  • পলিনয়েড: (পলিন হাইড্রোকার্বনের গাণিতিক মডেল) গাছগুলি (বা অবনতিজনিত ক্ষেত্রে, একক প্রান্তে) সহ ষড়ভুজীয় জালায় এমবেড করা যেতে পারে।

উদাহরণস্বরূপ, গাছগুলি বিবেচনা করুন

      O                O           O      O       (3)
      |                 \         /        \
      |                  \       /          \
O --- O --- O             O --- O            O --- O
      |                                             \
      |                    (2)                       \
 (1)  O                                               O

প্রথমটি ষড়জাগ্রীয় জালায় এমবেড করা যাবে না, অন্যটি পারে। এই নির্দিষ্ট এম্বেডিংটি তৃতীয় গাছ থেকে পৃথক বলে মনে করা হয়।

  • ননপ্ল্যানার পলিনয়েড: গাছগুলি এমবেডিং যাতে দুটি ওভারল্যাপিং শীর্ষে থাকে।

(2)এবং (3)উপরে গাছ প্ল্যানার হয়। এটি অবশ্য অপ্রচলিত:

   O---O O
  /       \
 /         \
O           O
 \         /
  \       /
   O --- O

(এখানে 7 টি শীর্ষ এবং 6 টি প্রান্ত রয়েছে)

  • ফ্রি পলিনয়েড: একটি পলিনয়েডের বৈকল্পিক, যা ঘূর্ণন এবং প্রতিবিম্ব দ্বারা প্রাপ্ত হতে পারে, এটি একটি হিসাবে গণনা করা হয়।

  • সি 2 ভি গ্রুপ: পলিনয়েড কেবল তখনই গণনা করা হয় যদি তাদের প্রতিবিম্বের 2 টি লম্বা বিমান থাকে এবং আরও কিছু না।

উদাহরণস্বরূপ, 2 টির শীর্ষক সমেত একমাত্র পলিনয়েড

O --- O

প্রতিবিম্বের 3 টি প্লেন রয়েছে: অনুভূমিক একটি -, উল্লম্ব একটি |এবং কম্পিউটার স্ক্রিনের সমান্তরাল একটি । এটা অতিরিক্ত.

অন্যদিকে, এই এক

O --- O
       \
        \
         O

প্রতিবিম্বের 2 টি প্লেন রয়েছে: /এবং


পদ্ধতির ব্যাখ্যা

এবং এখন, পদ্ধতিটি কীভাবে আসলে সংখ্যাটি গণনা করা যায়।

প্রথমত, আমি a(n) = A000063(n + 2) - A000936(n)মঞ্জুর জন্য সূত্রটি (ওইআইএস পৃষ্ঠায় তালিকাভুক্ত) নিই । আমি কাগজে ব্যাখ্যাটি পড়িনি।

[এই অংশটি ঠিক করুন]

অবশ্যই, পরিকল্পনাকারী গণনা ননপ্ল্যানার গণনা করার চেয়ে সহজ। কাগজও তাই করে।

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

সুতরাং ... প্রোগ্রামটি প্ল্যানার পলিনয়েডের সংখ্যা গণনা করে এবং এটি মোট থেকে বিয়োগ করে।

গাছটি যাইহোক প্ল্যানার হওয়ার কারণে এটির প্রতিফলনের সমতল রয়েছে। সুতরাং শর্তটি "2D উপস্থাপনে প্রতিচ্ছবিটির অক্ষ সহ গাছের সংখ্যা গণনা করতে" নামিয়ে আনে।

নিষ্পাপ উপায়টি হ'ল nনোড সহ সমস্ত গাছ উত্পন্ন করবে এবং সঠিক প্রতিসাম্য পরীক্ষা করবে। তবে, যেহেতু আমরা কেবল প্রতিবিম্বের অক্ষ সহ গাছের সংখ্যা খুঁজতে চাই, আমরা কেবলমাত্র একটি অর্ধে সমস্ত সম্ভাব্য অর্ধ-গাছ তৈরি করতে পারি, অক্ষের মাধ্যমে সেগুলি আয়নাতে পারি এবং তারপরে সঠিক প্রতিসাম্য পরীক্ষা করতে পারি। অধিকন্তু, যেহেতু উত্পন্ন পলিনয়েডগুলি (প্ল্যানার) গাছ, তাই এটি অবশ্যই একবারে প্রতিফলনের অক্ষকে স্পর্শ করবে।

ফাংশন public static Graph[] expand(Graph[] graphs, Point.Predicate fn)গ্রাফ একটি অ্যারের লাগে, প্রতিটি আছে nনোড, এবং আউটপুট গ্রাফ একটি অ্যারের, প্রতিটি রয়েছে n+1যেমন যে যোগ নোড সম্পৃক্ত সন্তুষ্ট করা আবশ্যক - নোড, একে অপরের (অনুবাদ অধীনে) সমান নয় fn

প্রতিবিম্বের 2 টি সম্ভাব্য অক্ষটি বিবেচনা করুন: একটি যা একটি শীর্ষবিন্দু দিয়ে যায় এবং প্রান্তগুলি ( x = 0) এর সাথে মিলে যায় এবং একটি এটি একটি প্রান্তের লম্ব দ্বিখণ্ডক ( 2x = y)। আমরা তাদের মধ্যে কেবল একটি নিতে পারি কারণ উত্পন্ন গ্রাফগুলি যাইহোক, আইসোমরফিক হয়।

সুতরাং, প্রথম অক্ষের জন্য x = 0, আমরা বেস গ্রাফ থেকে শুরু করি একটি একক নোড (1, 0)(ক্ষেত্রে nবিজোড় ক্ষেত্রে ) বা দুটি নোডের মধ্যে একটি প্রান্তযুক্ত (1, 0) - (2, 0)(যদি ক্ষেত্রে nসম হয়) থাকে এবং তারপরে নোডগুলি প্রসারিত করে y > 0। এটি প্রোগ্রামের "প্রতিবিম্ব টাইপ 1" বিভাগ দ্বারা সম্পন্ন হয়েছে এবং তারপরে প্রতিটি উত্পন্ন গ্রাফের জন্য এক্স অক্ষ x = 0( g.reflectSelfX()) দ্বারা নিজেকে প্রতিবিম্বিত (মিরর) করুন এবং তারপরে এটির সঠিক প্রতিসাম্যতা রয়েছে কিনা তা পরীক্ষা করুন।

তবে, নোট করুন যে যদি n2 দ্বারা বিভাজ্য হয়, এইভাবে আমরা প্রতিটি গ্রাফকে দুবার গণনা করেছি, কারণ আমরা অক্ষর দ্বারাও তার মিরর চিত্রটি উত্পন্ন করি 2x = y + 3

(2 কমলা রঙের নোট করুন)

অক্ষের জন্য একই 2x = y, যদি (এবং কেবল যদি) nএমনকি, আমরা শুরু বিন্দু থেকে (1, 1), গ্রাফ যেমন যে উৎপন্ন 2*x > y, এবং উপর তাদের প্রতিটি প্রতিফলিত 2x = y(অক্ষ g.reflectSelfType2()), সংযোগ (1, 0)সঙ্গে (1, 1), এবং চেক যদি তারা সঠিক প্রতিসাম্য আছে। 2 দ্বারা ভাগ করার কথাও মনে রাখবেন।


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

2
@ কায়ারডকয়েনেরিংহিংহিং আপনি সময়সীমার 3 মিনিট আগে অনলাইনে ছিলেন ...
ব্যবহারকারী 202729

আহা, পরবর্তী ক্রমটি হার্ড-কোডড হতে পারে ... (যদিও এটি অসীম) যদি আমি এটি সঠিকভাবে পড়ি। গণনা নিজেই --- সুন্দর --- খুব সহজ, তাই এটি করবেন না।
ব্যবহারকারী 202729

7

6. আর , 71 বাইট, A000072

function(n)length(unique((t<-outer(r<-(0:2^n)^2,r*4,"+"))[t<=2^n&t>0]))

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

পরবর্তী ক্রম


1
Ofশ্বরের প্রতি ভালবাসার জন্য, আমি এই উত্তরটি পোস্ট করার আগে আমি পরবর্তী ক্রমটি পরীক্ষা করে দেখিনি।
লিকি নুন

একটি সহজ পরবর্তী ক্রম কৌশলগত সুবিধা নয়?
ব্ল্যাকক্যাপ

@ ব্ল্যাকক্যাপ তারা সর্বশেষ উত্তর দেওয়ার পরে তারা পরপর দু'বার বা 1 ঘণ্টারও কম উত্তর দিতে পারে না।
এরিক আউটগল্ফার

@EriktheOutgolferthe answer before the last posted (the one who didn't break the chain) will win
BlackCap

@ ব্ল্যাকক্যাপ এই মুহুর্তে যা ঘটছে না
স্টিফেন


7

26. টিআই-বেসিক, 274 বাইট , এ 1000183

.5(1+√(5→θ
"int(.5+θ^X/√(5→Y₁
"2+Y₁(X-1)+Y₁(X+1→Y₂
{0,0,0,1,2,20→L₁
Prompt A
Lbl A
If A≤dim(L₁
Then
Disp L₁(A
Else
1+dim(L₁
(~1)^Ans(4Ans+Y₂(Ans))+(Ans/(Ans-1))((Ans+1))-(2Ans/(Ans-2))((Ans-3)L₁(Ans-2)+(~1)^AnsY₂(Ans-2))+(Ans/(Ans-3))((Ans-5)L₁(Ans-3)+2(~1)^(Ans-1)Y₂(Ans-3))+(Ans/(Ans-4))(L₁(Ans-4)+(~1)^(Ans-1)Y₂(Ans-4→L₁(Ans
Goto A
End

ওইআইএস লিঙ্কে পাওয়া পুনরাবৃত্ত সূত্রটি মূল্যায়ন করে।

নেক্সট সিকোয়েন্স


আঘ আমি জানতাম যে সাইটটি কখন নামবে যে যখন এটি ফিরে আসবে তখন এটি একটি উন্মাদ ভিড় হবে। আমাকে মারবেই।
সিলভিও মায়োলো

আমি বুঝতে পারিনি যে সাইটটি নীচে নেমেছে ...
স্কট মিলনার



7

49. সেজম্যাথ , 74 বাইট, A000003

lambda n: len(BinaryQF_reduced_representatives(-4*n, primitive_only=True))

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

পরবর্তী ক্রম


এবং আমি জাভাস্ক্রিপ্ট ব্যবহার করে এই সিক্যুয়েন্সটি কার্যকর করার চেষ্টা করে এক ঘন্টা ব্যয় করেছি ... ওহ ভাল, আমাকে কেবল পরবর্তীটির দিকে যেতে হবে ...
ETH প্রোডাকশন

7

76. পিগমি , 4147 বাইট, A000036

globaln: 0                                                                                           

Pi:: 3.141592653589793                                                                               

floor:: (number) {                                                                                   
    floatPart: number % 1                                                                            
    number >= 0 =>                                                                                   
    number - floatPart                                                                               
    number - floatPart - 1                                                                           
}                                                                                                    

fsqrt:: (number) {                                                                                   
    floor| number ^ 0.5                                                                              
}                                                                                                    

summation:: (f i imax) {                                                                             
    i > imax => 0                                                                                    
    (f| i) + summation| f, i + 1, imax                                                               
}                                                                                                    

absoluteValue:: (number) {                                                                           
    number < 0 => -number                                                                            
    number                                                                                           
}                                                                                                    

A:: (number) {                                                                                       
    globaln~: number                                                                                 
    1 + 4 * (fsqrt| number)                                                                          
       + 4 * (fsqrt| number / 2) ^ 2                                                                 
       + 8 * summation| (j){ fsqrt| globaln - j * j }, (fsqrt| number / 2) + 1, (fsqrt| number)      
}                                                                                                    

V:: (number) {                                                                  
    Pi * number                                                                      
}                                                                                    

P:: (number) {                                             
    (A| number) - (V| number)                               
}                                                           

recordMax: 0                                           
findRecord:: (searchIndex record recordCount) {                                    
    x: absoluteValue| P| searchIndex                                               
    (x > record && recordCount = recordMax - 1) => searchIndex                     
    x > record => findRecord| searchIndex + 1, x, recordCount + 1                  
    findRecord| searchIndex + 1, record, recordCount                               
}                                                                                  

A000099:: (number) {                                                                 
    recordMax~: number                                                              
    findRecord| 1, 0, 0                                                              
}                                                                               

A000035:: (number) {                                                                       
    floor| (P| (A000099| number)) + 0.5                                         
}                                                                               

নেক্সট সিকোয়েন্স

আপনি এই পৃষ্ঠায় কোড চালাতে পারেন । উদাহরণস্বরূপ, আপনি উপরের কোডটি অনুলিপি করে এবং যোগ করে ক্রমানুসারে দশম নম্বর পেতে পারেন:

alert| A000035| 10

4
... পরবর্তী ক্রমটি
আপত্তিজনক

1
@ হাইপার নিউট্রিনো আমি জানি: পিআই উদ্দেশ্যমূলকভাবে এটি করেছিল
পিটার ওলসন

খারাপ ...>। <তবে যাইহোক, আমি সিকোয়েন্সিতে 4 টি উপাদানকে হার্ডকোড করব। সহজেই যথেষ্ট পরিমাণে এক্সডি ওপি এর পক্ষে দৃশ্যত অনুমোদন করে ¯ \ _ (ツ) _ / ¯
হাইপার নিউট্রিনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.