স্কোরাইশ রুটটি সন্ধান করুন


19

লিখন কোড যে যখন দেওয়া একটি ধনাত্মক সংখ্যা ইনপুট হিসাবে, বৃহত্তম ইতিবাচক ভাজক আউটপুট কম বা বর্গমূল করার সমান ।xxx

অন্য কথায় বৃহত্তম এটি সন্ধান করুনn>0

mn:mn=x

(হইবে তার চেয়ে অনেক বেশী বা সমান যেমন যে বার হয় )mnmnx


উদাহরণস্বরূপ যদি ইনপুটটি তবে বিভাগগুলি , , , , এবং । , এবং সমস্ত পাওয়ার জন্য বৃহত্তর সংখ্যায় গুণিত হয় তবে টিই বৃহত্তম তাই আমরা ফিরে ।1212346121231233


এটি তাই কম বাইটসকে আরও ভাল স্কোর হিসাবে বিবেচনা করে উত্তরগুলি স্কোর করা হবে।

পরীক্ষার মামলা

(1,1)
(2,1)
(3,1)
(4,2)
(5,1)
(6,2)
(7,1)
(8,2)
(9,3)
(10,2)
(11,1)
(12,3)
(13,1)
(14,2)
(15,3)
(16,4)
(17,1)
(18,3)
(19,1)
(20,4)
(21,3)
(22,2)
(23,1)
(24,4)
(25,5)
(26,2)
(27,3)
(28,4)
(29,1)
(30,5)
(31,1)
(32,4)
(33,3)
(34,2)
(35,5)
(36,6)
(37,1)
(38,2)
(39,3)
(40,5)
(41,1)
(42,6)
(43,1)
(44,4)
(45,5)
(46,2)
(47,1)
(48,6)
(49,7)
(50,5)

OEIS A033676


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

@ স্টেভিগ্রিফিন "জনপ্রিয় প্রশ্ন" নিয়ে একটি সমস্যা হ'ল তারা এইচএনকিউ-তে রয়েছে। যা সম্ভবত খুব ভাল জিনিস নয়। / আমি দেখতে পাচ্ছি না এটি কীভাবে সাইটের ক্ষতি করে, আপনি কেবল পুরানোটির উত্তরগুলি সরাতে পারেন।
ব্যবহারকারী 202729

5
এইচএনকিউ নতুন ব্যবহারকারীদের আকর্ষণ করতে পারে এবং এটি একটি ভাল জিনিস (আইএমও)।
স্টিভি গ্রিফিন

1
@Qwr তবে মূল ধারণাটি একই। পার্থক্য খুব সামান্য। প্রতিটি চ্যালেঞ্জের পদ্ধতি অন্যের জন্য ব্যবহার করা যেতে পারে।
ব্যবহারকারী 202729

1
@ হ্যান্ড-ই-ফুড আমি দাবি করি না এটির চেয়ে আলাদা। আসলে আমি বিশ্বাস করি যে দুজনের একই বিষয়বস্তু রয়েছে। আপনার প্রশ্নটি বন্ধ করার জন্য আমার কারণগুলি থ্রেডের শীর্ষে থাকা মন্তব্যে একই, এই প্রশ্নের আরও উত্তর রয়েছে। আপনি যদি সেখানে জিজ্ঞাসা করতে চান তবে মেটা এখানে । এছাড়াও আপনি আগ্রহ থাকতে পারে এই
গম উইজার্ড

উত্তর:


10

পাইথন 3 , 49 47 বাইট

def f(x):
 l=x**.5//1
 while x%l:l-=1
 return l

ব্যাখ্যা

  • l=x**.5//1Largest lএর বৃহত্তম বর্গমূলের চেয়ে কম সংখ্যককে নির্ধারণ করুনx
  • while x%l:l-=1→ যদিও lসমানভাবে ভাগ হয় না x, হ্রাস l

সম্পাদনাগুলি

  • পাইথন 3 উল্লেখ করুন, পাইথন 2 নয়
  • ...//1দুটি বাইট সংরক্ষণ করতে ব্যবহার করুন । (দশমিক ঠিক আছে! ধন্যবাদ @ রড)

পিপিসিজিতে স্বাগতম, প্রথম প্রথম উত্তর! আপনি ব্যবহার করে কয়েক বাইট সংরক্ষণ করতে পারবেন input/ printপরিবর্তে def/ return, এছাড়াও আপনি প্রতিস্থাপন করতে পারেন int(...)সঙ্গে ...//1আরো বাইট সংরক্ষণ করতে হিসাবে আপনি দেখতে পারেন এখানে
ডান্ডা

@ রডটি নয় // 1, যেমনটি আমি পাইথন 3 বলেছি। (যদি না দশমিকগুলি আউটপুটটির জন্য ঠিক থাকে তবে যা আমি এটি মনে করি না)) তবে পাইথন 2 এর জন্য, ধন্যবাদ!
Hunteke

@ হুঁটে দশমিক আউটপুট ঠিক আছে, এমন কোনও কারণ আমি দেখছি না।
গম উইজার্ড

এটি "যখন" এর পরিবর্তে "ফর" দিয়ে আরও সংক্ষিপ্ত হবে, সুতরাং আপনি শর্তসাপেক্ষে সম্ভবত "এল" সংজ্ঞায়িত এড়ানো মানগুলি নির্ধারণ করতে পারবেন?
ম্যালডি

8

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

Z\tn2/)

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

এই ব্যাখ্যার জন্য, আমরা একটি নমুনা ইনপুট হিসাবে '12' ব্যবহার করব। ব্যাখ্যা:

Z\      % Divisors.
        % Stack:
        %   [1 2 3 4 6 12]
  t     % Duplicate.
        % Stack:
        %   [1 2 3 4 6 12]
        %   [1 2 3 4 6 12]
   n    % Number of elements.
        % Stack:
        %   6
        %   [1 2 3 4 6 12]
    2/  % Divide by 2
        % Stack:
        %   3
        %   [1 2 3 4 6 12]
      ) % Index (grab the 3rd element)
        % 3

এটি অনেক ভাগ্যবান কাকতালীয় কারণে কাজ করে।

  1. এমএটিএল 1 টি সূচক ব্যবহার করে
  2. আমরা যদি একটি অ-পূর্ণসংখ্যা সঙ্গে সূচক (এই কোনো নিখুঁত বর্গক্ষেত্র ইনপুট জন্য ঘটবে), তারপর <n>)সূচক হবে n

1
...... আচ্ছা আমি খুব কষ্ট পেয়েছি!
জিউসেপ

এমএটিএল :-)
লুইস মেন্ডো

BTW আমি মনে করি আপনাকে খাটো করতে পারেন Z\J2/)( J2/বা equivalently .5jঘোরা end/2যখন একটি সূচক হিসাবে ব্যবহৃত হয়)
লুইস Mendo

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

@ কামিলডড়কড়ি কেমন আছে?
ডিজেএমসিএমহেম

7

সি (জিসিসি) -lm , 35 বাইট

i;f(n){for(i=sqrt(n);n%i;i--);n=i;}

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


2
বিটিডব্লিউ, এটি কেবলমাত্র sqrtঅন্তর্নির্মিত ফাংশন হিসাবে জিসিসির স্বীকৃতির কারণে কাজ করে। সহ -fno-builtin-sqrt, জিসিসি অনুমান int sqrt(int)করে এবং পাস করে না double। X86-64 এ doubleপূর্ণসংখ্যার চেয়ে আলাদা রেজিষ্টারে পাস করা হয়। 32-বিটে, doubleস্ট্যাকের উপর 2 টি স্লট লাগবে, সুতরাং আপনি আবর্জনাও পার করছিলেন (বা ম্যান্টিসার নীচের অংশ হিসাবে পূর্ণসংখ্যার সাথে একটি অতি সাধারণ, যদি উপরের 32 বিটটি শূন্য হয়)। আপনি কোনও ডিবাগ বিল্ড না করা পর্যন্ত এটিও ভেঙে যায় কারণ এটি জিসিসি-র ডিফল্ট আন-অপ্টিমাইজড কোড-জেনের উপর রিটার্ন-ভ্যালু রেজিস্ট্রারে প্রকাশের মূল্যায়নের উপর নির্ভর করে।
পিটার কর্ডস

@ পিটারকর্ডস হ্যাঁ, এটি কোড গল্ফ, কোনও মেডিকেল ডিভাইস নয় :-)
ক্লাবল্যাঙ্ক

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

i;f(n){for(i=0;++i<n/i||n%i;);}31B, এবং সাথে কাজ করে gcc -Ox86-64 '(কমান্ড লাইন বিকল্পের জন্য খোয়াতে 2 বা আরো 3 বাইট।) এর ব্যবহার ||পরিবর্তে |কারণ জিসিসি ত্যাগ করার n/iথেকে ফলাফলের idivEAX, এর বিনিময়ে মান রেজিস্টারে ( godbolt.org/g/RJYeui )। ++iসিকোয়েন্স পয়েন্ট ব্যতীত অপরিজ্ঞাত-আচরণটি কাজের ক্ষেত্রে ঘটে। (উত্পাদিত এএসএমটি মূলত আমার x86 মেশিন কোড জবাবের সমান )) সাথে -O0, জিসিসি সর্বদা iEAX এ চলে যায় বলে মনে হয় তবে আমরা এটি ব্যবহার করতে পারি ...
পিটার কর্ডস

যাইহোক, আপনি যদি নন-সি সিসি বাস্তবায়ন-বিশদ উত্তরগুলি পছন্দ করেন তবে সম্ভবত আপনি এই x86-64 গিসি উত্তরটি পছন্দ করতে পারেন যা স্পষ্টত অপরিজ্ঞাত আচরণের জন্য সংকলক দ্বারা উত্পাদিত asm এর কারণে কাজ করে: অনলাইনে চেষ্টা করে দেখুন! (31 + 2 বাইট)
পিটার কর্ডেস


5

এপিএল (ডায়ালগ ইউনিকোড) , 16 14 12 বাইট

আমি খুশি যে আমি এপিএলে কিছু উত্তর লিখতে পেরেছিলাম যেহেতু আমি কেবল এটি শিখেছি। গল্ফিংয়ে সহায়তার জন্য অনেক অনেক ধন্যবাদ আদমকে to গল্ফিং পরামর্শ খুব স্বাগত জানাই। এটি অনলাইন চেষ্টা করুন!

APL সম্পর্কে আরো জানতে, কটাক্ষপাত করা দ্য APL অরচার্ড

সম্পাদনা করুন: -২ আমার কোড সহ কোনও সমস্যা সমাধানের জন্য বাইট 2 এই সমস্যাটি দেখানোর জন্য এইচ.পি.উইজকে ধন্যবাদ। -2 বাইটস আবার সমস্ত ছোট করা থেকে।

⌈/{⍳⌊⍵*÷2}∨⊢

Ungolfing

⌈/{⍳⌊⍵*÷2}∨⊢
             GCD of the following...
               The right argument, our input.
  {⍳⌊⍵*÷2}
                 Our input.
      2         To the power of 1/2, i.e. square root.
                 Floor.
                 Indices up to floor(sqrt(input)).
                In total, range from 1 to floor(sqrt(input)).
⌈/            The maximum of the GCDs of our input with the above range.

আপনি কেন বিপরীত ক্রমে স্ট্রাইকথ্রু করবেন? ... আমি প্রায়শই --- 16 --- --- 14 --- 12, 12 --- 14 --- --- 16 --- দেখি।
ব্যবহারকারী 202729

@ ইউজার ২২২২২২ সত্যি বলতে কিছুক্ষণ হয়ে গেছে, এবং আমি ধর্মঘটের ক্রমটি ভুলে গিয়েছি। শীঘ্রই এটি ঠিক করা হবে।
শার্লক 9

আসলে এটি কোনও সমস্যা নয়, লিডারবোর্ড স্নিপেট উভয়কেই সমর্থন করে।
ব্যবহারকারী 202729



3

x86 32-বিট (আইএ 32) মেশিন কোড: 18 16 বাইট

চেঞ্জলগ: n=1পরীক্ষার কেসটি সঠিকভাবে পরিচালনা করুন , 2 বাইট সংরক্ষণ করুন এবং EAX এ ফিরে আসুন।

অবধি গণনা করুন n/i <= i(অর্থাত্ আমরা যখন স্কয়ার্টে পৌঁছাব) এবং তার পরে প্রথম সঠিক বিভাজকটি ব্যবহার করুন।

এই একটি 64-বিট সংস্করণ x86-64 সিস্টেম ভী সম্মেলন আহ্বান, যেমন সঙ্গে C থেকে callable হয়
int squarish_root_countup(int edi)

nasm -felf32 -l/dev/stdout squarish-root.asm:

58                         DEF(squarish_root_countup)
59                             ; input: n in EDI
60                             ; output: EAX
61                             ; clobbers: eax,ecx,edx
62                         .start:
63 00000025 31C9               xor    ecx, ecx
64                         .loop:                    ; do{
65                         
66 00000027 41                 inc    ecx                ; ++i
67 00000028 89F8               mov    eax, edi
68 0000002A 99                 cdq
69 0000002B F7F9               idiv   ecx                ; edx=n%i    eax=n/i
70                         
71 0000002D 39C1               cmp    ecx, eax
72 0000002F 7CF6               jl     .loop          ; }while(i < n/i
73                                                   ;          || n%i != 0);  // checked below
74                             ; falls through for i >= sqrt(n)
75                             ; so quotient <= sqrt(n) if we get here
76                         
77                                                   ; test edx,edx / jnz  .loop
78 00000031 4A                 dec    edx            ; edx-1 is negative only if edx was zero to start with
79 00000032 7DF3               jge   .loop           ; }while(n%i >= 1);
80                             ; falls through for exact divisors
81                         
82                             ; return value = quotient in EAX
83                         
84 00000034 C3                 ret

           0x10 bytes = 16 bytes.

85 00000035 10             .size: db $ - .start

এটি অনলাইন চেষ্টা করুন! একটি এএসএম কলার সহ যা আর্গভের প্রথম বাইট [1] সরাসরি একটি পূর্ণসংখ্যা হিসাবে ব্যবহার করে এবং ফলাফলটি প্রক্রিয়া প্রস্থান স্থিতি হিসাবে ব্যবহার করে।

$ asm-link -m32 -Gd squarish-root.asm && 
for i in {0..2}{{0..9},{a..f}};do 
    printf "%d   " "0x$i"; ./squarish-root "$(printf '%b' '\x'$i)"; echo $?;
done

0   0  # bash: warning: command substitution: ignored null byte in input
1   1
2   1
3   1
4   2
5   1
6   2
7   1
8   2
9   3
10   0       # this is a testing glitch: bash ate the newline so we got an empty string.  Actual result is 2 for n=10
11   1
12   3
13   1
14   2
15   3
16   4
   ...

1
আপনি কি নিশ্চিত যে এন = 1 কেবল 1 নয়? এটি একটি পরীক্ষার কেস হিসাবে তালিকাভুক্ত এবং এটি একটি বিভাজক ≤ √1 = 1.
Qwr

আপনার উত্তরটি 1 এর জন্য কাজ করা উচিত যদি এটি আপনার অ্যালগরিদমের সাথে কাজ না করে তবে আপনাকে এটি হার্ড কোড করতে হবে।
গম উইজার্ড

2
@ কিউইউবিআর: একটি সংক্ষিপ্ত সংস্করণ সহ আপডেট হয়েছে যা সমস্ত ইনপুটগুলির জন্য কাজ করে।
পিটার কর্ডস

2

জাপট -h, 8 6 বাইট

â f§U¬

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

অলিভারকে ধন্যবাদ 2 বাইট


ব্যাখ্যা

           :Implicit input of integer U
â          :Divisors of U
  f        :Filter
   §       :  Less than or equal to
    U¬     :  Square root of U
           :Implicitly get the last element in the array and output it

পতাকাগুলি এখনও বাইট খরচ হয় না?
mbomb007

@ mbomb007 নং। পতাকার প্রতিটি উদাহরণকে একটি নতুন ভাষার প্রবেশিকা হিসাবে বিবেচনা করা হয়।
অলিভার

কিছু মনে করো না. আমার ধারণা আমি এখনও এই মেটা পোস্টটি দেখিনি ।
mbomb007



2

স্নোম্যান , 38 বাইট

((}1vn2nD`#nPnF|:|NdE|;:,#NMo*|,;bW*))

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

((
  }        activate variables b, e, and g
  1vn2nD`  e=1/2
  #        retrieve the input into b
  nP       set b=b^e, which is sqrt(input)
  nF       floor the square root
  |        move b into g so there's space for a while loop
  :        body of the loop
    |NdE|  decrement the value in g
  ;:       loop condition
    ,#     assign b=input, e=current value
    NMo    store the modulo in g
    *|     discard the input value and place the modulo in the condition slot
    ,      put the current value back into g
  ;bW      continue looping while the modulo is nonzero
  *        return the result
))

2

ডিসি , 24

?dsnv1+[1-dlnr%0<m]dsmxp

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

ব্যাখ্যা:

?                         # read input
 d                        # duplicate
  sn                      # store copy 1 in register n
    v                     # take the square root of copy 2
     1+                   # add 1
       [          ]       # define macro to:
        1-                #   subtract 1
          d               #   duplicate
           ln             #   load from register n
             r            #   reverse top 2 stack members
              %           #   calculate modulo
               0<m        #   if not 0, recursively call macro m again
                   d      # duplicate macro
                    sm    # store copy 1 in register m
                      x   # execute copy 2
                       p  # print final value

2

জে, 24 19 বাইট

-5 বাইট শেরলকের জিসিডি ধারণার জন্য ধন্যবাদ

([:>./+.)1+i.@<.@%:

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

মূল উত্তর

([:{:]#~0=]|[)1+i.@<.@%:

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

পার্স

┌───────────────────────────────┬──────────────────────┐
│┌──┬──┬───────────────────────┐│┌─┬─┬────────────────┐│
││[:│{:│┌─┬─────┬─────────────┐│││1│+│┌─────────┬─┬──┐││
││  │  ││]│┌─┬─┐│┌─┬─┬───────┐││││ │ ││┌──┬─┬──┐│@│%:│││
││  │  ││ ││#│~│││0│=│┌─┬─┬─┐│││││ │ │││i.│@│<.││ │  │││
││  │  ││ │└─┴─┘││ │ ││]│|│[││││││ │ ││└──┴─┴──┘│ │  │││
││  │  ││ │     ││ │ │└─┴─┴─┘│││││ │ │└─────────┴─┴──┘││
││  │  ││ │     │└─┴─┴───────┘│││└─┴─┴────────────────┘│
││  │  │└─┴─────┴─────────────┘││                      │
│└──┴──┴───────────────────────┘│                      │
└───────────────────────────────┴──────────────────────┘

ব্যাখ্যা

  • 1 + i.@<.@%:পরিসীমা দেয় 1 .. floor(sqrt)
  • ক্রিয়া সমগ্র (A) Bফর্ম একটি হুক, উপরে সীমার সাথে সঠিক ARG হিসাবে পাস ]ক এবং মূল সংখ্যাকে বাম ARG হিসাবে পাস [। সুতরাং ...
  • ] | [ আসল আর্গে বিভক্ত ব্যাপ্তির প্রতিটি আইটেমের অবশিষ্টকে দেয়।
  • এবং 0 = ] | [বিভাজকদের কোনও অবশিষ্ট নেই gives
  • ] #~ ... তারপরে পরিসীমা ফিল্টার করে কেবল সেগুলি রেখে।
  • এবং {:তালিকার সর্বশেষ আইটেমটি দেয়, অর্থাত্ বৃহত্তম।



1

কিউবাসিক (4.5), 52 বাইট

INPUT x
FOR i=1TO sqr(x)
if x/i=x\i then m=i
next
?m

1

ফোর্থ (গফার্থ) , 53 বাইট

সংক্ষিপ্ততম উপায়টি মনে হচ্ছে যে ভাসমান পয়েন্ট স্ট্যাকটি ব্যবহার করা হচ্ছে এবং fsqrtসবচেয়ে কম আমি এটি 62 বাইট ব্যবহার না করে ব্যবহার করতে পারি /modএবং পরীক্ষকটি বিভাজকের চেয়ে বেশি ছিল কিনা তা পরীক্ষা করে নিচ্ছি ।

: f dup s>f fsqrt f>s 1+ begin 1- 2dup mod 0= until ;

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

ব্যাখ্যা

  1. বর্গমূলের গণনা করুন
  2. বর্গমূল থেকে শুরু করে, মূল সংখ্যাটির কোনও ফ্যাক্টর না পাওয়া পর্যন্ত 1 দিয়ে হ্রাস পাবে

কোড ব্যাখ্যা

: f                \ Start a word definition
dup                \ duplicate the input
s>f fsqrt          \ move the number to the float stack and get the square root
f>s                \ truncate result and move to integer stack
1+                 \ add 1 to the square root
begin              \ start indefinite loop
  1- 2dup          \ decrement divisor and duplicate input and divisor
  mod              \ calculate n % divisor
0= until           \ if result equals 0 (no remainder) end the loop
;                  \ end the word definition

1

এফ #, 55 49 বাইট

let f x=Seq.findBack(fun i->x%i=0.0){1.0..x**0.5}

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

Seq.findBack: প্রদত্ত ফাংশনটি প্রদান করে এমন সর্বশেষ উপাদানটি দেয় True। এই ক্ষেত্রে ফাংশনটি পরীক্ষা করে দেখায় যে কোনও সংখ্যা মানটির একটি ফ্যাক্টর কিনা।


1

ব্রেন-ফ্লাক , 144 বাইট

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

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

আমি সত্যিই নিশ্চিত নই যে এই উত্তরটি খুব ভাল। আমি মনে করি এই কাজটি সমাধান করার জন্য একটি দুর্দান্ত উপায় থাকতে পারে তবে আমি যথেষ্ট চালাক নই।

ব্যাখ্যা

আমি উত্তরের বিস্ফোরিত দৃষ্টিকোণটি করার চেষ্টা করেছি কিন্তু অনেকগুলি চলন্ত অংশ রয়েছে এটি খুব আলোকিত ছিল না, তাই কোডটি কী করে তার একটি ব্যাখ্যা এখানে।

প্রথম গুরুত্বপূর্ণ বিট এটি

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

(এক্স,Y)এক্সY

পরবর্তী অংশ গুণ থেকে সংশোধন সহ নেওয়া হয় উইকি । এই গুণটি বিশেষ কারণ এটি বিদ্যমান মানগুলি বিনষ্ট না করে সংরক্ষণ করে। এটি যায়:

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

সুতরাং আমরা এই সমস্ত অর্ডারযুক্ত জোড়াকে গুণাচ্ছি। প্রতিটি ফলাফলের জন্য আমরা এটি ইনপুট সমান কিনা তা পরীক্ষা করি। যদি তাই হয় তবে আমরা জোড়ায় ছোট আইটেমটি সমাপ্ত করে ফিরিয়ে দেব।





0

মরিচা, 71 70 বাইট

fn f(x:u64)->u64{let mut l=(x as f64).sqrt()as u64;while x%l>0{l-=1}l}

প্রাক-uglified সংস্করণ

fn f(x: u64) -> u64 {                    // function takes u64, gives u64
  let mut l = (x as f64).sqrt() as u64;  // l takes integer'ed root value
  while x % l > 0 {                      // loop while l leaves remainder
    l -= 1                               // decrement
  }
  l                                      // return the found value
}

সম্পাদনাগুলি

  • > 0ওভার দিয়ে একটি বাইট সংরক্ষণ করুন != 0। (@ গুগল উইজার্ডকে ধন্যবাদ)

পারি !=প্রতিস্থাপিত হতে >?
গম উইজার্ড

ভাল কল! হ্যাঁ.
Hunteke



0

পাইরেট , 93 বাইট

{(z):rec f={(i,x):if num-modulo(i, x) == 0:x else:f(i,x - 1)end}
f(z,num-floor(num-sqrt(z)))}

আপনি অনলাইন পাইরেট সম্পাদক এ এটি অনুলিপি করে অনলাইনে চেষ্টা করতে পারেন !

উপরোক্ত একটি বেনামী ফাংশন মূল্যায়ন। এটি কোনও পূর্ণসংখ্যার সাথে প্রয়োগ করা হলে, এটি স্পেসিফিকেশন অনুযায়ী ফলাফল দেয়।



0

এই গণিত উত্তর একটি বন্দর ।

জেলি , 11 বাইট

½ðḞ³÷Ċ³÷µÐL

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

এটি (১১ বাইট) কাজ করে এবং এর উপর নির্ভর করে না ³:

½Ḟ÷@Ċ÷@ʋƬµṪ

দুর্ভাগ্যক্রমে ½Ḟ÷@Ċ÷@ʋÐL(10 বাইট) কাজ করে না। এবং দৃশ্যত Ƭএবং ÐĿহুবহু একরকম নয় (যখন লিঙ্কটি ডায়াডিক হয়)


এন

  • আমি=এনএকটি
  • প্রতিটি পদক্ষেপে:
    • আমিআমি
    • এনআমিএকটিআমিএনএকটিএনআমিএনএকটিএনআমিএকটিএন÷এনআমি
  • আমিএন÷এনআমি

0

জাভা 8, 65 54 বাইট

n->{int r=(int)Math.sqrt(n);for(;n%r>0;r--);return r;}

পোর্ট অফ @hunteke 'পাইথন 3 জবাব হবে এর উত্তরে

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


পুরানো 65 বাইট উত্তর:

n->{int r=1,i=n;for(;i-->1;)r=n%i<1&n/i<=i&n/i>r?n/i:r;return r;}

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

ব্যাখ্যা:

n->{                // Method with integer as both parameter and return-type
  int r=1,          //  Result-integer, starting at 1
  i=n;for(;i-->1;)  //  Loop `i` in the range (n, 1]
    r=n%i<1         //   If `n` is divisible by `i`,
      &n/i<=i       //   and if `n` divided by `i` is smaller than or equal to `i` itself,
      &n/i>r?       //   and if `n` divided by `i` is larger than the current `r`
       n/i          //    Set `n` divided by `i` as the new result `r`
      :             //   Else:
       r;           //    Leave result `r` unchanged
  return r;}        //  Return the result `r`
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.