দুই ডজন চুম্বন সংখ্যা আনুমানিক


26

1 থেকে 24 পর্যন্ত একটি নম্বর দেওয়া, চুম্বন নম্বরটি বর্তমান জ্ঞানের সেরাটিতে আউটপুট করুন (কিছু সংখ্যার একাধিক গ্রহণযোগ্য আউটপুট থাকবে)। আউটপুটগুলি সমস্ত নীচে তালিকাভুক্ত হওয়ায় জ্যামিতির জ্ঞান প্রয়োজনীয় নয়।

চুম্বন নম্বর সমস্যার উইকিপিডিয়া পৃষ্ঠা থেকে :

একটি চুম্বন নম্বরটি অ-ওভারল্যাপিং ইউনিট গোলকের সংখ্যা হিসাবে সংজ্ঞায়িত করা হয় যা এমনভাবে সাজানো যেতে পারে যে তারা প্রত্যেকে অন্য প্রদত্ত ইউনিট গোলকে স্পর্শ করে

অর্থাৎ, এক ইউনিট গোলক দেওয়া, এর মধ্যে ওভারল্যাপিং না করে আরও কত ইউনিট গোলক এটিকে ছুঁতে পারে? প্রশ্নটি এন ডাইমেনশনাল স্পেসে জিজ্ঞাসা করা হবে, যেখানে কোনও গোলককে এন -১ মাত্রিক গোলক হিসাবে বোঝা যায়।

উদাহরণ স্বরূপ:

  • 2 মাত্রিক স্থানে, একটি ইউনিট বৃত্ত 6 অন্যান্য ইউনিট চেনাশোনা স্পর্শ করতে পারে।
  • 3 মাত্রিক স্থানে, একটি ইউনিট গোলকটি 12 টি অন্যান্য ইউনিট গোলকে স্পর্শ করতে পারে।

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

সীমা সারণী

Dimension   Lower bound     Upper bound
1           2               2
2           6               6
3           12              12
4           24              24
5           40              44
6           72              78
7           126             134
8           240             240
9           306             364
10          500             554
11          582             870
12          840             1357
13          1154            2069
14          1606            3183
15          2564            4866
16          4320            7355
17          5346            11072
18          7398            16572
19          10668           24812
20          17400           36764
21          27720           54584
22          49896           82340
23          93150           124416
24          196560          196560

ইনপুট

মাত্রা: 1 থেকে 24 (সমেত) এর পূর্ণসংখ্যা।

এখানে "পূর্ণসংখ্যা" ইঙ্গিত দেয় যে ইনপুটটির কোনও ভগ্নাংশ থাকবে না - এটি হতে পারে 2বা 3কখনই হতে পারে 2.5। একটি সমাধান এখনও উদাহরণস্বরূপ একটি ফ্লোট বা স্ট্রিং হিসাবে ইনপুট নিতে পারে।

আউটপুট

সেই ইনপুট (অন্তর্ভুক্ত) এর জন্য নিম্ন সীমা থেকে উপরের সীমা পর্যন্ত প্রাসঙ্গিক পরিসরের একটি নম্বর।

আউটপুট অবশ্যই ডিটারমিনিস্টিক (সর্বদা একই ইনপুটটির জন্য একই)।

আউটপুট অবশ্যই পূর্ণসংখ্যা হতে হবে। উদাহরণস্বরূপ, ইনপুট জন্য 5সম্ভব বৈধ আউটপুট হয় 40, 41, 42, 43, 44। নোট করুন এটি মানটির উপর বিধিনিষেধ, প্রকার নয় not এটি কোনও শূন্য ভগ্নাংশের অংশ থাকে তবে এটি একটি ফ্লোট ফেরত গ্রহণযোগ্য। উদাহরণস্বরূপ, 41.5বৈধ হবে না, তবে 41.0বৈধ হবে।

স্কোরিং

এটি । আপনার স্কোরটি আপনার কোডের বাইট সংখ্যা। প্রতিটি ভাষার জন্য, বিজয়ী সর্বনিম্ন স্কোর সহ সমাধান।


6
সত্যিই শীতল আনুমানিক সমস্যা।
qwr

উত্তর:


11

জুলিয়া 0.6 , 52 বাইট

n->ceil(n<8?3.7exp(.51n)-5.1:n<24?9exp(.41n):196560)

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

কিভাবে?

মেশিন লার্নিং! (কিন্ডা। সম্ভবত। সত্যিই নয়। )

aebK+cc

aebK+cceil


6
আমি গ্রিডসার্ককে মেশিন লার্নিং হিসাবে বিবেচনা করব না। এটি যদি কিছু হয় তবে তা নিষ্ঠুর শক্তি।
qwr

5
কিন্তু এটি MLBase!!! জে / K, এমএল প্রায় লাইন সবসময় অস্পষ্ট, কিন্তু এই সম্ভবত হয় ট্যাগ মেশিন লার্নিং প্রাপ্য খুব মৌলিক। তারপরে আবার কোনও বুজওয়ার্ড পেতে সর্বদা দরকারী!
-

আমরা যখন মেশিন লার্নিং বলি তখন আমরা মূলত n = 2 বা রিজেক্সপস সহ বহুবচনগুলির
কথা

2
আমি যখন মেশিন লার্নিং বলি তখন আমি স্নায়বিক জাল, সিদ্ধান্তের গাছ, এইচএমএম,
পার্সেপট্রন

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

7

x86, 62 59 53 50 বাইট

আমার সমাধানটিতে বাইট দেখার টেবিল এবং 2 দ্বারা স্থানান্তরিত করা হয় (কোনও এফপি গণনা নেই)। 9 থেকে 23 মাত্রা মাত্রা স্থানান্তরিত করার জন্য পর্যাপ্ত প্রবণতা সরবরাহ করে। ইনপুট ইন eaxএবং আউটপুট ইন ecx

-3 অদলবদল করে eaxএবং ecxযেহেতু cmp $imm, %alতার চেয়ে ছোট cmp $imm, %cl

-৪ আলাদাভাবে এন = ২৪ কেসের সাথে চিকিত্সা না করে 1024 কেস সব সময় সমন্বয় প্রয়োগ করে।

-২ তাড়াতাড়ি না ফিরে (বোকা)

-3 অফসেট হিসাবে এবং movzblতার সাথে শূন্যের পরিবর্তে সারণি ব্যবহার করেxor

start:
        dec     %eax                # 1-indexed table

        movzbl  table(%eax), %ecx   # return byte directly
        cmp     $8, %al
        jl      exit

        sal     $6, %ecx            # * 64 
        cmp     $19, %al
        jl      exit

        sal     $4, %ecx            # * 16
        sub     $48, %ecx

exit:   
        ret

#.data
table:  .byte   2, 6, 12, 24, 40, 72, 126, 240              # * 1
        .byte   5, 8, 10, 14, 19, 26, 41, 68, 84, 116, 167  # * 64  
        .byte   18, 28, 49, 92, 192                         # * 1024 - 48

হেক্সডাম্প (এর .textপরিবর্তে সারণী .data)

00000502  48 0f b6 88 1c 05 00 00  3c 08 7c 0d c1 e1 06 3c  |H.......<.|....<|
00000512  13 7c 06 c1 e1 04 83 e9  30 c3 02 06 0c 18 28 48  |.|......0.....(H|
00000522  7e f0 05 08 0a 0e 13 1a  29 44 54 74 a7 12 1c 31  |~.......)DTt...1|
00000532  5c c0                                             |\.|

1
টেবিল শুধুমাত্র পাঠযোগ্য হয়, তাই স্বাভাবিকভাবে আপনি এটা রাখা চাই .rodata, না .dataযাহাই হউক না কেন। (বা উইন্ডোজে, দৃশ্যত .rdata)। .rodataঅধ্যায় টেক্সট সেগমেন্ট অংশ হিসেবে সংযুক্ত হয়।
পিটার কর্ডেস

1
এবং বিটিডাব্লু, সাধারণ লোকেরা লিখেন shl, বিশেষত যখন আপনার নম্বরটি স্বাক্ষরিত না হয় (আপনি movzblএটি লোড করতেন, না movsbl)। অবশ্যই salএকই অপকোডের অন্য একটি নাম। জিসিসি নির্গত হয় sal, তবে এটি হাতে লিখিত কোডে দেখতে খুব কমই দেখা যায়।
পিটার কর্ড

7

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

f=(n,k=2)=>n<24?--n?f(n,k*24/(17+~'_8443223'[n])):~~k:196560

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

কিভাবে?

a24=196560

অন্যান্য সমস্ত পদ পুনরাবৃত্তির সাথে গণনা করা হয়, এটি ব্যবহার করে:

{a1=2an+1=an×24qn

qn

{q1=8q2=12q3=12q4=13q5=14q6=14q7=13qn=16,for n>7

নিম্নলিখিত অনুপাত বাড়ে:

3,2,2,2413,127,127,2413,32,32,,32

চূড়ান্ত ফলাফল অবশেষে মেঝেতে ফিরে আসে এবং ফিরে আসে।

ফলাফল সংক্ষিপ্তসার

আনুমানিক ফলাফল 2 দশমিক স্থান দিয়ে দেওয়া হয়।

  n |   a(n-1) | multiplier |      a(n) | output |          expected
----+----------+------------+-----------+--------+-------------------
  1 |      n/a |        n/a |         2 |      2 |                2
----+----------+------------+-----------+--------+-------------------
  2 |        2 |          3 |         6 |      6 |                6
  3 |        6 |          2 |        12 |     12 |               12
  4 |       12 |          2 |        24 |     24 |               24
  5 |       24 |      24/13 |     44.31 |     44 |        [40,..,44]
  6 |    44.31 |       12/7 |     75.96 |     75 |        [72,..,78]
  7 |    75.96 |       12/7 |    130.21 |    130 |      [126,..,134]
  8 |   130.21 |      24/13 |    240.39 |    240 |              240
  9 |   240.39 |        3/2 |    360.58 |    360 |      [306,..,364]
 10 |   360.58 |        3/2 |    540.87 |    540 |      [500,..,554]
 11 |   540.87 |        3/2 |    811.31 |    811 |      [582,..,870]
 12 |   811.31 |        3/2 |   1216.97 |   1216 |     [840,..,1357]
 13 |  1216.97 |        3/2 |   1825.45 |   1825 |    [1154,..,2069]
 14 |  1825.45 |        3/2 |   2738.17 |   2738 |    [1606,..,3183]
 15 |  2738.17 |        3/2 |   4107.26 |   4107 |    [2564,..,4866]
 16 |  4107.26 |        3/2 |   6160.89 |   6160 |    [4320,..,7355]
 17 |  6160.89 |        3/2 |   9241.34 |   9241 |   [5346,..,11072]
 18 |  9241.34 |        3/2 |  13862.00 |  13862 |   [7398,..,16572]
 19 | 13862.00 |        3/2 |  20793.01 |  20793 |  [10668,..,24812]
 20 | 20793.01 |        3/2 |  31189.51 |  31189 |  [17400,..,36764]
 21 | 31189.51 |        3/2 |  46784.26 |  46784 |  [27720,..,54584]
 22 | 46784.26 |        3/2 |  70176.40 |  70176 |  [49896,..,82340]
 23 | 70176.40 |        3/2 | 105264.59 | 105264 | [93150,..,124416]
----+----------+------------+-----------+--------+-------------------
 24 |           (hard-coded)            | 196560 |           196560 

1
প্রথম যে জিনিসটি আমি দেখেছিলাম তা হ'ল পুনরাবৃত্ত জাভাস্ক্রিপ্ট ফাংশনের ভিতরে বিটওয়াইজ অপারেটরগুলি; আমি প্রথম যে জিনিসটি ভেবেছিলাম তা হ'ল "
আরনাউল্ড

সত্যিই দুর্দান্ত টেবিল। আপনি নিজে এটি তৈরি করেছেন?
Qwr

1
@ কিউইউআর হ্যাঁ, এটি বেশিরভাগই কিছু নোটপ্যাড ++ সম্পাদনা। আমি প্রথম 4 টি কলামে মানগুলি তৈরি করতে কেবল একটি স্ক্রিপ্ট ব্যবহার করেছি।
আর্নল্ড

4

জেলি , 29 26 বাইট

“~D=ⱮziEc+y’Dḣ+⁵÷7PĊ«“£#;’

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

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

“~D=ⱮziEc+y’Dḣ+⁵÷7PĊ«“£#;’  Main link. Argument: n

“~D=ⱮziEc+y’                Set the return value to 485523230101001100011122.
            D               Decimal; convert the return value to base 10.
             ḣ              Head; take the first n elements of the digit list.
              +⁵            Add 10 to each element.
                ÷7          Divide the sums by 7.
                  P         Take the product.
                   Ċ        Ceil; round up to the nearest integer.
                     “£#;’  Yield 196560.
                    «       Take the minimum.

1

জাভাস্ক্রিপ্ট (নোড.জেএস) , 120 99 বাইট

21 বাইট বাদ পড়েছে। অ্যারের শুরুতে একটি গর্ত যুক্ত করার জন্য টিএসএসের পরামর্শকে বড় হ্রাস ধন্যবাদ ( নিম্নে এবং উপরের সীমানার মধ্যে দুটি বাইট সংরক্ষণ n-1করা n, এবং গোলাকার সংখ্যার জন্য লক্ষ্য করে, সুতরাং 1154এটি সূচক -বিন্দু থেকে সংকোচনীয় সূচক হিসাবে চিহ্নিত করা মত 2e3

আবার, আমার মূল লক্ষ্যটি ছিল "বোবা" উপায়টি কত হালকা হবে (উদাহরণস্বরূপ আরনাউল্ডের উত্তরের মতো কোনও বাস্তব গণিত ব্যবহার না করা It's এটি চিত্তাকর্ষক যে কোনও রূপান্তর বা গণনা ছাড়াই এটি সঙ্কুচিত করার মতো জায়গা ছিল)।

n=>[,2,6,12,24,40,72,126,240,306,500,582,840,2e3,2e3,3e3,5e3,6e3,8e3,2e4,2e4,3e4,5e4,1e6,196560][n]

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

আরনাউল্ডের উত্তরটির দৈর্ঘ্য দ্বিগুণ, জটিলতার পরিমাণ।

জাভাস্ক্রিপ্ট (নোড.জেএস) , 129 128 বাইট

(-1 বাইটশিশিং ব্যবহার করার পরামর্শের জন্য বাইট ধন্যবাদ)

f=(n)=>[2,6,12,24,40,72,126,240].concat([5,8,10,14,19,26,41,68,84,116,167].map(x=>x<<6),[17,28,49,91].map(x=>x<<10),196560)[n-1]

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

আকর্ষণীয় হওয়ার দাবিগুলি পূরণ করতে, আমি x86 উত্তর থেকে লজিকটি চুরি করেছি, এবং এটি থেকে অ্যারেটি তৈরি করেছি। এটি 9 বাইট দীর্ঘতর করা। তবে খানিকটা আকর্ষণীয়।


yawns অন্তত চেষ্টা আকর্ষণীয় কিছু এ
qwr

আমি ভেবেছিলাম সর্বাধিক সরল পদ্ধতি প্রদর্শন করা (এবং প্রযুক্তিগতভাবে দীর্ঘতম যুক্তিসঙ্গত দৈর্ঘ্য) বেশ আকর্ষণীয় ছিল। আরএনএল্ডস সম্ভবত আপনি জেএসে সবচেয়ে সংক্ষিপ্ততম পেতে পারেন, তবুও দীর্ঘতম বাইটের দ্বিগুণ twice
অ্যান্টনি

1
বাইট দেখার টেবিলের বিন্দুটি সম্ভবত বাইট্রেটিং বা "02060c1828487ef0" এর মতো কিছু ব্যবহার করা যেখানে প্রতিটি এন্ট্রি যদি আপনি পছন্দ করেন তবে হেক্সে একটি বাইট বা 2 অক্ষর রয়েছে। দশমিকের মধ্যে সরাসরি সংখ্যাগুলি সংরক্ষণ করতে 3 টি অক্ষর লাগে। বিটশিফিংটিও ব্যবহার করুন ...
qwr

2
আপনি অন্তত অপসারণ এ করা উচিত f=, পরিবর্তন (x)করার জন্য x, একটি গর্ত এবং পরিবর্তন যোগ x-1করার xটিআইও ; এবং তাদের টিআইও 99 বাইটগুলি
চার্জ করতে পারেন

5
পিপিসিজিতে আপনাকে স্বাগতম! :)
শেগি

1

রুনিক, 173 বাইট

>i:8(?D5X1+1C,*212,+16,+1c2*,+1cX,+Sp3X7+a,*5X1+a,-1+kn$;
      R:c2*(?D4X1+1C,*212,+16,+1c2*,+Sp9*1+:4XY(?Dkn$;
             R`196560`r@;              ;$*C1nk,C1L

(দ্রষ্টব্য যে নীচের ডান কোণটি বাইটের জন্য গণনা করা উচিত: সেগুলি স্পষ্টত স্পেসে ভরাট)

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

0-9,a-f  ->  1-15
2Xn+     ->  20+n

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

কার্যত এটি সুন্দর এর জুলিয়া উত্তরের একটি বন্দর (তবে রুনিকের eস্ট্যাকের দিকে ঠেলাঠেলি করার জন্য কোনও আদেশ নেই (বা সত্যিকার অর্থে, কোনও দশমিক মান), সুতরাং একটি আনুমানিক প্রয়োজন হয়েছিল)। e8 এর চেয়ে কম ইনপুটগুলির জন্য অনুমানের পরিমাণটি আরও সুনির্দিষ্ট, কারণ যথার্থতা হ্রাসের ফলে আউটপুটগুলির অনুমতিযোগ্য সীমার বাইরে থাকা মানগুলি (উদাহরণস্বরূপ 7125 উত্পাদন করতে পারে) তৈরি হয়। Ceil()একটি চরিত্রে রূপান্তরিত করে এবং পরে কোনও সংখ্যায় ফিরে এসে সম্পাদন করা হয়েছিল (এটি ব্যতিক্রমী বৃহত্তর মানগুলির জন্য ব্যর্থ হয়েছে, সুতরাং 40k এ আমি এটি 100 দ্বারা বিভক্ত করেছিলাম, আবার এবং পিছনে রূপান্তর করেছি, তারপরে আবার 100 দ্বারা গুণিত করব)।

বোধহয় কিছু রুম ব্যবস্থা প্রক্রিয়া সহজ করার জন্য (যেমন উল্লম্বভাবে, নীচের এন্ট্রি পয়েন্ট চলমান, বা অনুমান কম্প্রেস করার জন্য একটি উপায় খুঁজে বের করেন e), কিন্তু আমি শুধু করতে সক্ষম হচ্ছে সঙ্গে খুশি না হিসাব।

/?D5X1+1C,*212,+16,+1c2*,+1cX,+Sp3X7+a,*5X1+a,-1+kn$;
  R:c2*(?D4X1+1C,*212,+16,+1c2*,+Sp9*1+:4XY(?Dkn$;
\(8:i<   R`196560`r@;              ;$*C1nk,C1L

161 বাইট।

দোভাষী আপডেট:

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

212,+16,+1c2*,+1cX,+হ্রাস করবে -> 1'eAএই দোভাষী সংশোধন করে। Aএকটি অক্ষর এবং একটি মান পপ করে এবং পপড অক্ষরের উপর ভিত্তি করে সেই মানটির উপর একটি গণিত ক্রিয়াকলাপ সম্পাদন করে ( eএই ক্ষেত্রে হয় Exp()এবং Exp(1)প্রত্যাবর্তন )।

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