স্ট্যান্ডার্ড স্ক্র্যাচ কি?


12

গল্ফে, এই সূত্রটি ব্যবহার করে কোনও কোর্সের মানক স্ক্র্যাচ গণনা করা হয়:

(3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating

আপনার কাজটি হ'ল এই 4 টি ইনপুট দেওয়া গল্ফ কোর্সের মানক স্ক্র্যাচ গণনা করা।

বিন্যাসে আপনার কোনও মানক ফর্ম ইনপুট নেওয়া উচিত

[num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating

তবে এটি যদি বাইটস সংরক্ষণ করে তবে আপনি অনেকে আলাদা উপায়ে ইনপুট নেন।

মেটাতে কোনও গ্রহণযোগ্য পদ্ধতি দ্বারা আপনার চূড়ান্ত ফলাফলটি আউটপুট করা উচিত, যেমন কোনও ফাংশন থেকে ফিরে আসা।

সংক্ষিপ্ততম কোডটি জিতেছে কারণ এটি !


সমস্ত ইনপুটগুলি পূর্ণসংখ্যা এবং কমপক্ষে 1 হবে? (এছাড়াও, আউটপুট কি সর্বদা ইতিবাচক হবে?)
ডুরকনব

আমরা কি ইনপুট বিপরীত নিতে পারি?
সম্পূর্ণমানবিক

13
এই হিসাবে তুচ্ছ, কয়েকটি পরীক্ষার কেস চমৎকার হবে।
ডেনিস

9
মজাদার, গল্ফ সম্পর্কে একটি কোড গল্ফ।
সার্জিওল

উত্তর:


28

স্ক্র্যাচ, 145 বাইট

-2 বোকোয়াকাকে ধন্যবাদ
- ??? কারণ এটি অটোতে লেখা ইংরেজির চেয়ে কম orter

(কারণ স্ক্র্যাচ হ'ল স্ট্যান্ডার্ড স্ক্র্যাচ))

আদি () - টেমি (ক) কুটি (থাডি আদি () - টেমি (খ) কুটি (থাডি আদি () - টেমি (সি) কুয়াটি (থাডি আদি () - টেমি (ডি) কুটি (থাদি মা ((সি)) - ((ক) + (ডি)) + ((৪) * (((ক) (খ)) + (গ অনুবাদ: জিজ্ঞাসা () এবং অপেক্ষা সেট (ক) থেকে (উত্তর জিজ্ঞাসা () এবং ওয়েট সেট ( খ) (উত্তর জিজ্ঞাসা () এবং অপেক্ষা সেট (সি) থেকে (উত্তর জিজ্ঞাসা () এবং অপেক্ষা সেট (ডি) থেকে (উত্তর বলুন ((সি) - ((ক) + (ডি))) + ((4 ) * (((ক) + + (খ)) + + (গ

একটি নমুনা রান এখানে:

একটি = 18, খ = 13, গ = 41, D = 23; উত্তর = 124




6

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

(a#b)c d=3*a+4*b+5*c-d

এটি অনলাইন চেষ্টা করুন! ব্যবহার: (3#2)5 7ফলন 35

এটি এত সহজ নয় যে ইনপুট ফর্ম্যাটটি সোজা ফরোয়ার্ড সমাধানের চেয়ে এক বাইট কম sh

f a b c d=3*a+4*b+5*c-d

বিন্দু মুক্ত এবং দুর্দান্ত ইনপুট ফর্ম্যাট: (23 বাইট)

(-).sum.zipWith(*)[3..]

এটি অনলাইন চেষ্টা করুন! বাঁধুন fএবং সাথে কল করুন f [3,2,5] 7


5

গণিত, 13 14 বাইট

{3,4,5,-1}.#&

@ গ্রেগমার্টিনকে ধন্যবাদ। দৈর্ঘ্য -4 তালিকা হিসাবে ইনপুট নিন।


"তবে এটি বাইটস সংরক্ষণ করে, আপনি অনেকগুলি আলাদাভাবে ইনপুট নেন" এর জন্য ধন্যবাদ, আমি মনে করি আপনার দৈর্ঘ্য -4 তালিকার হিসাবে ইনপুট নেওয়া উচিত এবং দ্বিতীয় সমাধানটি {3,4,5,-1}.#&(13 বাইট) সংক্ষিপ্ত করা উচিত।
গ্রেগ মার্টিন

আপনি ঠিক বলেছেন ..
কিউ গান




4

কি তিন বাইট, অথবা আমি miscounting করছি? চান .*একটি উন্নতি হবে? সম্পাদনা: কিছু মনে করবেন না sum যোগফলটি মিস করলেন।
জুলিয়ান ওল্ফ

হ্যাঁ, তিন বাইট .*কেবলমাত্র উপাদান-ভিত্তিক গুণগুলি সম্পাদন করে; এটি পণ্যের যোগফল নেয় না।
ডেনিস


3

x86-64 মেশিন কোড, 14 বাইট

8D 3C 7F 8D 14 92 8D 04 B7 01 D0 29 C8 C3

সিস্টেম ভি AMD64 কলিং কনভেনশন (Gnu / লিনাক্স সিস্টেমে সর্বব্যাপী) এর পরে একটি ফাংশন যা চারটি সংখ্যার পরামিতি নেয়:

  • EDI = num_of_3_par_holes
  • ESI = num_of_4_par_holes
  • EDX = num_of_5_par_holes
  • ECX = অসুবিধা_রেটিং

এটি রেজিস্টারে একক মান, মান স্ক্র্যাচ প্রদান করে EAX

অবহেলিত সমাবেশ মেমোনমিক্স:

; int ComputeStandardScratch(int num_of_3_par_holes,
;                            int num_of_4_par_holes,
;                            int num_of_5_par_holes,
;                            int difficulty_rating);
lea   edi, [rdi+rdi*2]    ; EDI = num_of_3_par_holes * 3
lea   edx, [rdx+rdx*4]    ; EDX = num_of_5_par_holes * 5
lea   eax, [rdi+rsi*4]    ; EAX = EDI + (num_of_4_par_holes * 4)
add   eax, edx            ; EAX += EDX
sub   eax, ecx            ; EAX -= difficulty_rating
ret                       ; return, leaving result in EAX

সূত্রটির কেবল একটি সহজ অনুবাদ। মজার বিষয়টি হ'ল এটি মূলত একই কোড যা আপনি গতির জন্য অনুকূলকরণের সময় লিখবেন । এই সত্যিই x86 প্রদত্ত শক্তি দেখায় LEAনির্দেশ, যা ডিজাইন করা হয়েছে oad একটি ffective একটি ddress, কিন্তু একটি একক নির্দেশনা (2 এর কম শক্তির গুণ) এ ছাড়া ও স্কেলিং করতে পারেন, এটি একটি শক্তিশালী মাল্টি উদ্দেশ্য গাণিতিক workhorse উপার্জন ।


3

জেলি , 10 7 বাইট

3r5×⁸S_

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

-৩ বাইটস এরিক দি আউটগলফারকে ধন্যবাদ!

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

3r5×⁸S_  Main link: a, the pars as a list and b, the difficulty rating

     S   The sum of
3r5        [3, 4, 5]
   ×       each element times
    ⁸      the left argument (a)
      _  Subtract the right argument (b)

তালিকাগুলি তৈরি করার মানক উপায় বাদ দিচ্ছে []তবে আপনি 3r5×⁸S_এটিকে আরও গল্ফ ব্যবহার করতে পারেন ( 3r5-> [3, 4, 5], = বাম আর্গুমেন্টটিকে এর থেকে আলাদা করতে S, ×পরিবর্তনশীল)।
এরিক আউটগল্ফার 15

3

অক্টাভা , 14 বাইট

@(a)[3:5 -1]*a

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

MATL উত্তর হিসাবে প্রায় দ্বিগুণ । আমি প্রথমে আক্ষরিকভাবে এটি এমএটিএল-তে পোর্ট করেছিলাম, তবে এটি iY*কেবলমাত্রের চেয়ে দীর্ঘ *s। নোট করুন যে ইনপুটটি aক্রমযুক্ত গর্তগুলি এবং তারপরে অসুবিধা সহ একটি কলাম ভেক্টর হওয়া উচিত।


প্রশ্ন বলছেন হিসাবে আপনি কোনো বিন্যাসে ইনপুট নিতে পারেন যদি এটা বাইট সংরক্ষণ, এই 14 কাজ করে: @(a)[3:5 -1]*a। ইনপুট হ'ল একটি কলাম ভেক্টর[3 holes; 4 holes; 5holes; difficulty]
টম কার্পেন্টার

@ টমকার্পেন্টার ওহ, আমি ভেবেছিলাম তালিকা + নম্বর অংশটি বাধ্যতামূলক। এটি কিছুটা অদ্ভুতভাবে বাক্যযুক্ত: "আপনার উচিত ... তবে আপনি" পারেন। আমার ধারণা আমি তখন আমার উত্তরটি সংশোধন করব।
Sanchises


2

নিম , 7 বাইট

'π𝐂𝕋𝐬S𝕊

ব্যাখ্যা:

'π         Push 345
           The character ' pushes the next character's index in the codepage plus 100.
           The characters ", + and * do that same thing except add a different number.
           This means that in Neim, all 3 digit numbers can be expressed with 2 characters.
           This commit was pushed 8 days before the answer was posted.
  𝐂        Get the characters
   𝕋       Vectorised multiply with the input
    𝐬       Sum the resulting list
     S𝕊    Subtract the input

বিকল্প প্রোগ্রাম: 3𝐈ᛖ𝕋𝐬S𝕊

চাপ দেওয়া 345এবং তারপরে অক্ষরগুলি পাওয়ার পরিবর্তে [1 2 3]ব্যবহার করে অ্যারে তৈরি করা হয় 3𝐈, তারপরে প্রতিটি উপাদানটিতে 2 টি যুক্ত করে

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


This commit was pushed 8 days before the answer was posted.ঠিক আছে, আপনার আসলে এটির দরকার নেই।
এরিক আউটগল্ফার

পছন্দ করেছেন তবে আমারও ব্যাখ্যাটির দরকার নেই। আপনি কি আমাকে এটি সরাতে চান?
Okx

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

@ এরিকথ আউটগল্ফার আমি প্রতিদ্বন্দ্বিতা না করার বিষয়ে উদ্বিগ্ন কারণ মেটা sensক্যমত্য বিষয়গত এবং অস্পষ্ট। তবে এই ক্ষেত্রে এটি থাকার কারণে অভিযোগ করার কোনও কারণ নেই। আপনি আপনার চেয়ে বেশি সময় ব্যয় করছেন অন্যথায় আপনি মন্তব্যটি পোস্ট করবেন না।
Okx

কোনও কারণে, ইনলাইন কোড ব্লকের বেশিরভাগ নিম চরগুলি দেখতে কেমন? বাক্সে।
ক্যালকুলেটরফলাইন


2

সুইফট 3 , 25 19 বাইট

আমি বুঝতে পেরেছিলাম যে আপনার দরকার নেই var f=, কারণ আপনি একে পাইথন ল্যাম্বদার মতো বলতে পারেন:

{$0*3+$1*4+$2*5-$3}

এটি অনলাইন পরীক্ষা!

ব্যবহার:, {$0*3+$1*4+$2*5-$3}(a,b,c,d) যেখানে a,b,c,dপরামিতি আছে।


2

ব্রেনফাক , 39 বাইট

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

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

ইনপুট নেয় এবং আউটপুটকে ASCII অক্ষর হিসাবে মুদ্রণ করে; উদাহরণস্বরূপ, মান 99 গ হিসাবে প্রতিনিধিত্ব করা হবে।

ব্যাখ্যা:

,                                       Take the first input in Cell 0
 [      ]                               While the data being pointed to (Cell 0) is nonzero
  ->+++<                                Decrement Cell 0 and add 3 to Cell 1
                                        Now 4 times the first input is in Cell 1
         ,                              Take the second input in Cell 0
          [->++++<]                     Add 4 times the second input to Cell 1
                   ,[->+++++<]          Take the third input in Cell 0 and add five times its value to Cell 1
                              ,         Take the fourth input in Cell 0
                               [    ]   While the data being pointed to (Cell 0) is nonzero
                                ->-<    Decrement Cells 0 and 1
                                     >. Print the value in Cell 1



2

ব্র্যাচল্যাগ , 18 16 বাইট

∧5⟦₁↺b;?z×ᵐġ₃+ᵐ-

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

-2 ফ্যাটালাইজ করার জন্য ধন্যবাদ ।


∧5⟦₁↺b;?z×ᵐġ₃+ᵐ-2 টি কম বাইট
617

@ ফ্যাটালাইজ যদি নেতৃস্থানীয় পূর্ণসংখ্যা এবং ইনপুট সহ কোনও বাগ না থাকে তবে এটি 3 কম বাইট হত।
এরিক আউটগল্ফার

2

,,,, 12 বাইট

↻5×↻4×↻3×↻-#

ব্যাখ্যা

উদাহরণস্বরূপ ইনপুট 4, 3, 2, 1 নিন।

↻5×↻4×↻3×↻-#

              implicit input                  [4, 3, 2, 1]
↻             rotate the stack clockwise      [1, 4, 3, 2]
 5            push 5                          [1, 4, 3, 2, 5]
  ×           pop 2 and 5 and push 2 * 5      [1, 4, 3, 10]
   ↻          rotate the stack clockwise      [10, 1, 4, 3]
    4         push 4                          [10, 1, 4, 3, 4]
     ×        pop 3 and 4 and push 3 * 4      [10, 1, 4, 12]
      ↻       rotate the stack clockwise      [12, 10, 1, 4]
       3      push 3                          [12, 10, 1, 4, 3]
        ×     pop 4 and 3 and push 4 * 3      [12, 10, 1, 12]
         ↻    rotate the stack clockwise      [12, 12, 10, 1]
          -   pop 10 and 1 and push 10 - 1    [12, 12, 9]
           #  pop 12, 12, 9 and push the sum  [33]
              implicit output

2

কিউবিক্স , 36 বাইট

w;r5*U4I;I3*r;UW;;r;<\r/;r-I/+p+O@;w

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

      w ; r
      5 * U
      4 I ;
I 3 * r ; U W ; ; r ; <
\ r / ; r - I / + p + O
@ ; w . . . . . . . . .
      . . .
      . . .
      . . .

এটি চালান দেখুন

একটি মোটামুটি লিনিয়ার প্রোগ্রাম যা প্রায় কয়েকবার নিজের দিকে ফিরে আসে। প্রাথমিক পদক্ষেপ:

  • I3*r;U; প্রথম ইনপুট পান 3 টি দিয়ে গুণ এবং স্ট্যাক পরিষ্কার করুন
  • I4*/r\ পরবর্তী ইনপুট পান এবং 4 দিয়ে গুণ করুন result
  • Iw5*Ur;w<;r;;W পরবর্তী ইনপুট পান, 5 দিয়ে গুণ এবং স্ট্যাকটি পরিষ্কার করুন
  • I-r;w; শেষ ইনপুট পান, সমান 5 ফলাফল থেকে বিয়োগ করুন এবং স্ট্যাকটি সাফ করুন
  • /+p+O\@ পার 4 ফলাফলের যোগ করুন, শীর্ষ অ্যাড, আউটপুট এবং থামাতে par3 ফলাফল আনুন

2

এইচপি -15 সি (আরপিএন), 14 বাইট

নির্দেশ হেক্স কোড:

41 C4 F5 FC C5 F4 FC FA C5 F3 FC FA 31 FB

পঠনযোগ্য সংস্করণ:

001 {       44  1 } STO 1
002 {          33 } R⬇
003 {           5 } 5
004 {          20 } ×
005 {          34 } x↔y
006 {           4 } 4
007 {          20 } ×
008 {          40 } +
009 {          34 } x↔y
010 {           3 } 3
011 {          20 } ×
012 {          40 } +
013 {       45  1 } RCL 1
014 {          30 } −

প্রোগ্রামটি চালানোর আগে চারটি নম্বর স্ট্যাকের মধ্যে লোড করা হয়।


ভাল উত্তর। পিপিসিজিতে আপনাকে স্বাগতম!
musicman523

2

এক্সেল ভিবিএ, 20 বাইট

বেনামী VBE অবিলম্বে উইন্ডোতে ফাংশন যা পরিসীমা থেকে ইনপুট নেয় [A3:A6]যার [A3:A5]সংখ্যা প্রতিনিধিত্ব 3, 4এবং 5যথাক্রমে সমাবস্থা গর্ত, এবং [A6]অসুবিধা প্রতিনিধিত্ব করে। ভিবিই তাত্ক্ষণিক উইন্ডোতে আউটপুট

?[3*A3+4*A4+5*A5-A6]

উপরেরটি কলটির একটি কনডেন্সড সংস্করণ

Debug.Print Application.Evaluate("=3*A3+4*A4+5*A5-A6")

যেখানে "=3*A3+4*A4+5*A5-A6"একটি বেনাম সেলের সূত্র হিসাবে দেওয়া হবে, [...]মোড়ক দ্বারা নির্দেশিত , এবং প্রসঙ্গে একটি ইমপ্লিট সহ কলটির ?অবহেলিত সংস্করণPrintDebug.

আরও মজা সংস্করণ, 34 বাইট

উপরের মত একই I / O শর্তাবলী সহ অজ্ঞাতনামা VBE তাত্ক্ষণিক উইন্ডো ফাংশন।

?[SUMPRODUCT(A3:A5,ROW(A3:A5))-A6]

উপরেরটি কলটির একটি কনডেন্সড সংস্করণ

Debug.Print Application.Evaluate("=SUMPRODUCT(A3:A5,ROW(A3:A5))")

যেখানে "=SUMPRODUCT(A3:A5,ROW(A3:A5))"একটি বেনাম সেলের সূত্র হিসাবে দেওয়া হবে, [...]মোড়ক দ্বারা নির্দেশিত , এবং প্রসঙ্গে একটি ইমপ্লিট সহ কলটির ?অবহেলা সংস্করণ । এই সংস্করণে, এর ব্যাপ্তি এবং সারি সংখ্যা ( ) এর অ্যারে হিসাবে পাস করা হয়েছেPrintDebug.[A3:A5]ROWS(A3:A5)

এক্সেল সংস্করণ, 18 বাইট

অবশ্যই, উপরের সংস্করণগুলি এগুলি এর সংস্করণগুলিকে এক্সেল করার জন্য lyণ দেয়

=3*A3+4*A4+5*A5-A6

এবং

=SUMPRODUCT(A3:A5,ROW(A3:A5))-A6





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