n * k = dd0d00d কোথায় d =…?


14

ইতিবাচক পূর্ণসংখ্যা n ≤ 500 দেওয়া হয়েছে :

  • এই ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যা যেমন যে এর দশমিক প্রতিনিধিত্ব ভাবে সংখ্যা বসিয়ে n * যেসব ট পারেন হয় 0 বা সঙ্গে ≤ ঘ ≤ 9 1

  • মুদ্রণ করুন বা রিটার্ন কম 30 সেকেন্ড (যে সম্বন্ধে আরও পড়তে মধ্যে ব্যাখ্যা এবং নিয়ম অধ্যায়)।

সহজ উদাহরণ

এখানে d এর প্রথম 30 টি মান রয়েছে ।

+----+-------+---------+---+    +----+-------+---------+---+
|  n |     k |   n * k | d |    |  n |     k |   n * k | d |
+----+-------+---------+---+    +----+-------+---------+---+
|  1 |     1 |       1 | 1 |    | 16 |     5 |      80 | 8 |
|  2 |     1 |       2 | 2 |    | 17 |   653 |   11101 | 1 |
|  3 |     1 |       3 | 3 |    | 18 |     5 |      90 | 9 |
|  4 |     1 |       4 | 4 |    | 19 |   579 |   11001 | 1 |
|  5 |     1 |       5 | 5 |    | 20 |     1 |      20 | 2 |
|  6 |     1 |       6 | 6 |    | 21 |    37 |     777 | 7 |
|  7 |     1 |       7 | 7 |    | 22 |     1 |      22 | 2 |
|  8 |     1 |       8 | 8 |    | 23 |  4787 |  110101 | 1 |
|  9 |     1 |       9 | 9 |    | 24 |    25 |     600 | 6 |
| 10 |     1 |      10 | 1 |    | 25 |     2 |      50 | 5 |
| 11 |     1 |      11 | 1 |    | 26 |    77 |    2002 | 2 |
| 12 |     5 |      60 | 6 |    | 27 |    37 |     999 | 9 |
| 13 |    77 |    1001 | 1 |    | 28 |    25 |     700 | 7 |
| 14 |     5 |      70 | 7 |    | 29 | 37969 | 1101101 | 1 |
| 15 |     2 |      30 | 3 |    | 30 |     1 |      30 | 3 |
+----+-------+---------+---+    +----+-------+---------+---+

সহজ-সহজ উদাহরণ

এই চ্যালেঞ্জের একটি বৈশিষ্ট্য হ'ল কিছু মান অন্যের তুলনায় অনেক বেশি শক্ত - কমপক্ষে নিখুঁত নিষ্ঠুর শক্তি প্রয়োগের সাথে। নীচে কিছু উদাহরণ এন একটি উচ্চ মান যে নেতৃত্ব

+-----+------------+---------------+---+    +-----+------------+---------------+---+
|   n |          k |         n * k | d |    |   n |          k |         n * k | d |
+-----+------------+---------------+---+    +-----+------------+---------------+---+
|  81 |   12345679 |     999999999 | 9 |    | 324 |   13717421 |    4444444404 | 4 |
| 157 |   64338223 |   10101101011 | 1 |    | 353 |   28615017 |   10101101001 | 1 |
| 162 |   13717421 |    2222222202 | 2 |    | 391 |  281613811 |  110111000101 | 1 |
| 229 |   43668559 |   10000100011 | 1 |    | 405 |   13717421 |    5555555505 | 5 |
| 243 |   13717421 |    3333333303 | 3 |    | 439 |   22781549 |   10001100011 | 1 |
| 283 |   35371417 |   10010111011 | 1 |    | 458 |   43668559 |   20000200022 | 2 |
| 299 |   33478599 |   10010101101 | 1 |    | 471 |   64338223 |   30303303033 | 3 |
| 307 |   32576873 |   10001100011 | 1 |    | 486 |   13717421 |    6666666606 | 6 |
| 314 |   64338223 |   20202202022 | 2 |    | 491 |  203871711 |  100101010101 | 1 |
| 317 | 3154574483 | 1000000111111 | 1 |    | 499 |   22244489 |   11100000011 | 1 |
+-----+------------+---------------+---+    +-----+------------+---------------+---+

ব্যাখ্যা এবং বিধি

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

রেফারেন্স সারণী

1 ≤ n ≤ 500 এর জন্য d এর সমস্ত মান নীচে তালিকাভুক্ত করা হয়েছে।

n       | d
--------+--------------------------------------------------
001-025 | 1 2 3 4 5 6 7 8 9 1 1 6 1 7 3 8 1 9 1 2 7 2 1 6 5
026-050 | 2 9 7 1 3 1 8 3 2 7 9 1 2 3 4 1 6 1 4 9 2 1 6 7 5
051-075 | 3 4 1 9 5 7 1 2 1 6 1 2 9 8 5 6 1 4 3 7 1 9 1 2 3
076-100 | 4 7 6 1 8 9 2 1 4 5 2 3 8 1 9 1 4 3 2 5 6 1 7 9 1
101-125 | 1 6 1 8 7 2 1 9 1 1 1 7 1 2 5 4 9 2 7 6 1 2 3 4 5
126-150 | 6 1 8 3 1 1 6 7 2 9 8 1 6 1 7 1 2 1 9 5 2 7 4 1 3
151-175 | 1 8 9 7 5 4 1 2 1 8 7 2 1 4 3 2 1 8 1 1 3 4 1 6 7
176-200 | 8 3 2 1 9 1 2 1 8 5 6 1 4 9 1 1 6 1 2 3 7 1 9 1 2
201-225 | 3 2 7 4 5 2 9 8 1 7 1 4 1 2 5 9 7 2 3 2 1 2 1 7 9
226-250 | 2 1 4 1 1 3 8 1 6 5 4 3 7 1 6 1 2 3 4 7 6 1 8 3 5
251-275 | 1 6 1 2 3 8 1 6 7 2 9 2 1 6 5 7 3 4 1 9 1 8 3 2 5
276-300 | 6 1 2 9 7 1 2 1 4 5 2 7 9 1 1 3 4 1 7 5 8 9 2 1 3
301-325 | 7 2 3 8 5 6 1 4 3 1 1 8 1 2 9 4 1 2 1 8 1 7 1 4 5
326-350 | 2 1 8 7 3 1 4 3 2 5 8 1 2 3 2 1 6 1 8 3 2 1 4 1 7
351-375 | 9 8 1 6 5 4 7 2 1 9 1 2 3 4 5 2 1 8 9 1 7 6 1 2 3
376-400 | 8 1 9 1 2 3 2 1 6 7 2 9 4 1 3 1 7 1 2 5 9 1 2 7 4
401-425 | 1 6 1 4 5 2 1 8 1 1 3 4 7 9 5 8 1 2 1 6 1 2 3 8 5
426-450 | 2 7 4 3 1 1 9 1 7 3 4 1 6 1 4 3 2 1 4 5 2 3 7 1 9
451-475 | 1 4 3 2 5 8 1 2 9 2 1 6 1 8 3 2 1 6 7 1 3 8 1 6 5
476-500 | 7 3 2 1 6 1 2 3 4 5 6 1 8 3 7 1 6 1 2 9 8 7 6 1 5

1
এই সাম্প্রতিক চ্যালেঞ্জটি থেকে স্বচ্ছলভাবে অনুপ্রাণিত (তবে একেবারে পৃথক) ।
আর্নল্ড

n = 6669666 -> d = 9
J42161217

সেই টেবিলটিতে আকর্ষণীয় কর্ণগুলি।
জেমস

@ জেমস প্রকৃতপক্ষে। মোড ২৪ ফর্ম্যাট করে প্যাটার্নগুলি আরও স্পষ্টভাবে উপস্থিত হবে M :-)
আরনাউল্ড

উত্তর:


3

জেলি , 16 15 14 বাইট

²B€Ḍ9×þF%Þ¹ḢQS

চতুর্ভুজ রানটাইম (টিআইওতে 25 সেকেন্ডের নিচে)।

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

বিকল্প সংস্করণ, 15 বাইট

2ȷB€Ḍ9×þF%Þ¹ḢQS

ধ্রুব রানটাইম (টিআইওতে প্রায় 1 সেকেন্ড)।

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

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

²B€Ḍ9×þF%Þ¹ḢQS  Main link. Argument: n

²               Take the square of n.
                This bound is high enough for all integers up to 500. 
                In fact, The highest value we need is 1387 for input 471, so
                2000 (2ȷ) is also enough (and a lot faster).

 B€             Binary; convert 1, ..., 4159 to base 2.
   Ḍ            Undecimal; convert each digit array from base 10 to integer.
                This generates the array A of all positive integers up to n²
                whose decimal representations consist entirely of 1's and 0's.
    9×þ         9 multiply table; for each x in A, yield [x, 2x, ..., 8x, 9x].
       F        Flatten; concatenate the resulting arrays, yielding the vector
                V. Note that V contains all numbers that match the regex ^d[0d]*$
                in base 10, in ascending order.
          ¹     Identity; yield n.
        %Þ      Sort the entries for V by their remainders modulo n. This places
                multiples of n at the beginning. The sorting algorithm in stable,
                so the first element of sorted V is the smallest multiple of n.
           Ḣ    Head; extract the first element.
            Q   Unique; deduplicate its digits in base 10. This yields [d, 0].
             S  Take the sum, yielding d.

5

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

n=>{for(p=1;;p=k)for(d=0;d++<9;)for(k=p;k<p+p;k++)if(k.toString(2)*d%n<1)return d;}

এখন ফেরৎ 6জন্য n=252! আমি পুনরাবৃত্তির পদ্ধতির চেষ্টা করেছি তবে এটিও 83 বাইট এবং আরও শক্ত সংখ্যার জন্য ক্র্যাশ করেছে:

f=(n,p=1,d=1,k=p)=>k<p+p?k.toString(2)*d%n<1?d:f(n,p,d,k+1):d>8?f(n,p+p):f(n,p,d+1)

4

গণিত, 103 100 97 বাইট

#&@@IntegerDigits[Sort[Join@@Table[Cases[FromDigits/@{0,i}~Tuples~13/#,_Integer],{i,9}]][[10]]#]&


0.39 সেকেন্ডে 317 খুঁজে পাওয়া যায়

এটি অনলাইনে অনুলিপি করুন / কোডটি পেস্ট করুন, শেষে [317] যুক্ত করুন এবং চালানোর জন্য শিফট + এন্টার টিপুন

@ জাংহওয়ান মিন
থেকে -3 বাইট-@ কেয়ে গা থেকে 3 বাইট


আপনি পরিত্রাণ করতে পারেন *মধ্যে *#, এবং Tuples[{0,i},13]হয়{0,i}~Tuples~13
JungHwan ন্যূনতম

হ্যাঁ, অবশ্যই!
J42161217

ওহ, এবং আরও একটি: [[1]]শেষে #&@@শুরুতে রাখার মতোই
জংহওয়ান মিন

... এবং আমরা এটি 100 এ তৈরি করেছি! -3 বাইটের জন্য ধন্যবাদ
J42161217

আপনি এর Join@@পরিবর্তে ব্যবহার করতে পারেনFlatten@
কিউ গান

2

পাইথন 2/3, 129 128 127 বাইট

from itertools import*
lambda n:next(d for p in count()for d in range(1,10)for k in range(2**p,2*2**p)if d*int(bin(k)[2:])%n<1)

-1 বাইট: count(0)count()
-1 বাইট: ==0<1যেহেতু এটি নেতিবাচক হতে পারে না


2

জেলি , 21 বাইট

9Rṭ€0ṗ€⁴ẎḌḍ@Ðf⁸ṢDFḟ0Ḣ

নম্বর বা একটি সম্পূর্ণ প্রোগ্রাম এটি মুদ্রণ করে একটি monadic লিঙ্ক।

একটি সীমিত পরিসরের নরপশু-forcer যা কোন কম 20 সেকেন্ড সময় লাগে 1 ≤ এন ≤ 500 (ক 1 বাইট কোড খরচ জন্য কম 3 সেকেন্ডের - প্রতিস্থাপন সঙ্গে 13)।

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

কিভাবে?

9Rṭ€0ṗ€⁴ẎḌḍ@Ðf⁸ṢDFḟ0Ḣ - Link: number, n
9R                    - range of 9 = [1,2,3,4,5,6,7,8,9]
  ṭ€0                 - tack €ach to 0 -> [[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9]]
       ⁴              - literal 16
     ṗ€               - Cartesian product for €ach
        Ẏ             - tighten (flatten by 1 level)
         Ḍ            - covert from decimal list to number (vectorises)
              ⁸       - chain's left argument (n)
            Ðf        - filter keep items for which this yields a truthy value:
          ḍ@          -   divisible? with swapped @rguments
               Ṣ      - sort
                D     - convert to decimal list (vectorises)
                 F    - flatten into a single list
                  ḟ0  - filter out zeros
                    Ḣ - head (get the first value)

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