দুটি পূর্ণসংখ্যার মাধ্যমের যোগফল


12

গণিতে বেশ কয়েকটি উপায় রয়েছে যেমন পাটিগণিত গড়, জ্যামিতিক গড় এবং আরও অনেক ...

সংজ্ঞা এবং কার্য

নোট করুন যে এটি দুটি ধনাত্মক পূর্ণসংখ্যার সংজ্ঞা :

  • রুট গড় বর্গ আধলা (তাদের বর্গের সমষ্টি বর্গমূল হয় )।

  • গাণিতিক গড় তাদের সমষ্টি, আধলা আছে ( )।

  • জ্যামিতিক গড় তাদের পণ্য বর্গমূল আছে ( )।

  • সমন্বয়পূর্ণ গড় হল 2 তাদের inverses এর সমষ্টি (দ্বারা বিভক্ত = )।

দুটি পূর্ণসংখ্যার দেওয়া একটি এবং যেমন যে A, B ∈ [1 + ∞) , এর উপরে উল্লিখিত যোগফল একটি এবং । আপনার উত্তরগুলি অবশ্যই কমপক্ষে 3 দশমিক স্থানে সঠিক হওয়া উচিত, তবে আপনাকে বৃত্তাকার বা ভাসমান-পয়েন্ট যথাযথ ত্রুটিগুলির বিষয়ে চিন্তা করতে হবে না।

পরীক্ষার কেস

a, b -> আউটপুট

7, 6 -> 25.961481565148972
10, 10 -> 40
23, 1 -> 34.99131878607909
2, 4 -> 11.657371451581236
345, 192 -> 1051.7606599443843

আপনি এই প্রোগ্রামটি ব্যবহার করে আরও পরীক্ষার ক্ষেত্রে সঠিক ফলাফলগুলি দেখতে পারেন । এটি , সুতরাং মানক বিধিগুলি অনুসরণ করে সংক্ষিপ্ততম বৈধ জমাগুলি।

* অন্যান্য অনেকগুলি উপায় রয়েছে তবে এই চ্যালেঞ্জের উদ্দেশ্যে আমরা "সংজ্ঞা" বিভাগে উল্লিখিতগুলি ব্যবহার করব।



10
মাধ্যমের গড় আউটপুট করতে অবশ্যই বলেছে। -1 (না)
আমার সর্বনাম

9
কমপক্ষে তার জন্য কোনও ম্যাথমেটিকা ​​বিল্টিন নেই। রাইট?
নিডজেজেকোব

@ নিডজেজেকোব আমি তেমনটা মনে করি না :-)
মিঃ এক্সকোডার

@ নিডজেজেকোব যদিও আমি সন্দেহ করি যে প্রতিটি উপায়ের জন্য বিল্টিন রয়েছে।
এরিক আউটগল্ফার

উত্তর:


13

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

a%b=sum[((a**p+b**p)/2)**(1/p)|p<-[2,1,-1,1e-9]]

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

বাস্তবে দেখা যায় যে রুট-বর্গক্ষেত্র, পাটিগণিত, সুরেলা, এবং জ্যামিতিক উপায়ে সব বিশেষ মামলা আছে ব্যবহার সাধারণ গড় ((a**p+b**p)/2)**(1/p) জন্য p=2,1,-1,0। জ্যামিতিক গড়টি সীমাবদ্ধতাটি ব্যবহার করে p->0+, এটি p=1e-9নির্ভুলতার জন্য যথেষ্ট হিসাবে পরিমিত।


9

গণিত , 37 বাইট

-2 বাইটস মার্টিন ইন্ডারকে ধন্যবাদ জেনি_ম্যাথিকে -6 বাইট এবং জংহওয়ান মিনকে ফাংশন পুনরায় ব্যবহারযোগ্যতার জন্য ধন্যবাদ।

(t=1##)^.5+(2(s=+##/2)^2-t)^.5+s+t/s&

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

গণিত , 55 বাইট

RootMeanSquare@#+Mean@#+GeometricMean@#+HarmonicMean@#&

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

¯ \: _ (ツ): _ / ¯


1
একটি বিকল্প:((#^2+#2^2)/2)^.5+(#+#2)/2+(#1#2)^.5+2#*#2/(#+#2)&
মিস্টার এক্সকোডার

1
2 বাইট বন্ধ:((#^2+#2^2)/2)^.5+(+##)/2+(1##)^.5+2/(1/#+1/#2)&
মার্টিন ইন্ডার

2
42 বাইট: (((s=+##)^2-2##)/2)^.5+s/2+(1##)^.5+2##/s&
J42161217

6
37 বাইট: (2(s=+##/2)^2-t)^.5+s+(t=1##)^.5+t/s&
J42161217

2
@ Jenny_mathy এর সংস্করণ (একই বাইট গণনা) এর সামান্য ফিক্স: (t=1##)^.5+(2(s=+##/2)^2-t)^.5+s+t/s&। কেবলমাত্র ফাংশনটি পুনরায় ব্যবহার করা সহজ করার জন্য ( Clear@tপ্রতিটি পুনরাবৃত্তির আগে চালানো ছাড়া )।
জংহওয়ান মিন

5

পাইথন 3 , 57 বাইট

lambda a,b:(a+b+(a*a+b*b<<1)**.5)/2+(a*b)**.5+2*a*b/(a+b)

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


<<1ভুল একটি পূর্ণসংখ্যা যখন থেকে অগ্রভাগ ছাঁটিয়া যাচ্ছে aএবং bবিপরীত দলগুলো হয়।
xnor

@ এক্সনর না এটি নয় :) আপনি ভাবছেন >>1
orlp

1
ওহ, আমার ভুল! আমি এখন দেখতে পাচ্ছি এর /2বাইরেও এর জন্য ক্ষতিপূরণ দেওয়া হচ্ছে। দুর্দান্ত কৌশল।
xnor



3

অক্টাভা , 44 42 41 বাইট

@(n)(q=mean(n))+rms(n)+(z=prod(n))^.5+z/q

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

নোট করুন যে টিআইওতে সিগন্যাল প্যাকেজ ইনস্টল করা নেই, তাই আমি rms()শিরোনামে সংজ্ঞায়িত করেছি । উপর অক্টেভ অনলাইন , আপনি এটি যদি আপনি চেষ্টা করতে পারেন pkg load nan। আমি নিশ্চিত না যে এখানে কোনও অনলাইন অনুবাদক রয়েছে যা এটি ডিফল্টরূপে লোড করে তবে বেশিরভাগ সিস্টেমে ডিফল্টরূপে এই প্যাকেজটি লোড করা হত।

টম কার্পেন্টারকে 2 বাইটের একটি ছোট ভুল চিহ্নিত করার জন্য ধন্যবাদ।

এটি একটি বেনামী ফাংশন সংজ্ঞায়িত করে, ইনপুটটিকে ভেক্টর হিসাবে গ্রহণ করে n=[a,b]। এরপরে আমরা এইচএম এর গণনাটি হ্রাস করতে ইনলাইন অ্যাসাইনমেন্টটি ব্যবহার করি z/q


1
আপনাকে কোডটিতে অন্তর্ভুক্ত করার দরকার নেই f=, যাতে এটি 42 বাইট করে। (যা অবশ্যই "ক্রস আউট 44 এর মতো দেখতে 44" এর দিকে নিয়ে যায়) - এটি অনলাইনে চেষ্টা করুন!
টম কার্পেন্টার

ওহ উফ, এটি অক্টাভে-অনলাইন থেকে অনুলিপি করার একটি শৈল্পিক! ধন্যবাদ।
সান্চাইজস

টিআইও ইনস্টল করা প্যাকেজগুলি ডিফল্টরূপে লোড করে, এটিতে কেবল সিগন্যাল প্যাকেজ ইনস্টল করা নেই
লুইস মেন্ডো

@ লুইসমেন্দো ঠিক বলেছেন, আমি মনে করি ম্যাটল্যাব এবং অক্টাভের আদর্শ মান হ'ল সমস্ত প্যাকেজ ইনস্টল ও লোড হয়েছে ume
সান্চাইজস

^.5 একটি বাইট সংরক্ষণ ওভার sqrt। এছাড়াও, f=লিঙ্কটির কোড অংশটি থেকে সরান
লুইস মেন্ডো

2

লিঙ্কগুলির দুর্দান্ত সংমিশ্রণ। আমি এক লাইনে PḤ÷S,µ³²Æm,P½,µÆmFSসেরাটি করতে পারি (19 বাইট) - আমি যদিও এটি উল্লেখ করার মতো, সম্ভবত এটি অনুপ্রেরণার উত্স। সম্পাদনা করুন: > _> আমি এখন বুঝতে পেরেছি যে আমি কেবল এর +পরিবর্তে ব্যবহার করতে পারি,
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার আমার প্রথমে একটি 18-বাইট সংস্করণ ছিল (পুনর্বিবেচনার ইতিহাসে নয়) তবে তারপরে সেগুলি ½একসাথে রাখার কথা ভেবেছিলাম এবং এটি একটি বাইট সংরক্ষণ করেছিল।
এরিক দি আউটগল্ফার

অনুপ্রেরণার আরেকটি সম্ভাব্য উত্স: PḤ÷Sদ্বারা প্রতিস্থাপন করা যেতে পারে:İSHİ
মিঃ এক্সকোডার

@ মিঃ এক্সকোডারও সে সম্পর্কে ভেবেছিলেন
এরিক দ্য আউটগল্ফার

2

05 এ বি 1 ই , 18 16 বাইট

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

nO;t¹O;¹Pt2¹zO/O

ব্যাখ্যা:

nO;t                Root mean square
n                    Raise [a, b] to [a ** 2, b ** 2]
 O                   Sum
  ;                  Half
   t                 Square root
    ¹O;             Arithmetic mean
    ¹                Retrieve stored [a, b]
     O               Sum
      ;              Half
       ¹Pt          Geometric mean
       ¹             Retrieve stored [a, b]
        P            Product
         t           Square root
          2¹zO/     Harmonic mean
           ¹         Retrieved stored [a, b]
            z        Vectorised inverse to [1 / a, 1 / b]
             O       Sum
          2   /      Get 2 divided by the sum
               O    Sum of all elements in stack

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



পছন্দ করেছেন
Okx

একটি তালিকা হিসাবে ইনপুট নিন [a, b]
এরিক দ্য আউটগল্ফার

@ এরিকথিউটগল্ফার অবশ্যই! কেন আমি তা ভেবে দেখিনি।
Okx

2

কাস্তে , 19 বাইট

ṁëȯ√½ṁ□o½Σo√Π§/ΣoDΠ

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

-1 এইচ.পি.উইজকে ধন্যবাদ ।


ö√½Σm□হতে পারেȯ√½ṁ□
এইচ.পি.উইজ

@ এইচ.পি.উইজ> _> আমি জানতাম যে আমি কিছু ভুলে যাচ্ছি
এরিক দ্য আউটগল্ফার


@ এইচপিউইজ এখনও শিখছে! : পি
এরিক আউটগল্ফার

2

এমএটিএল , 21 18 17 বাইট

UYmGphX^GYmGpy/vs

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

-3 বাইট লুইস মেন্ডোকে ধন্যবাদ।

ব্যাখ্যা

UYm               % Mean of squares, 
                  % Stack: { (a^2+b^2)/2 }
   Gp             % Product of input, a*b
                  % Stack: { (a^2+b^2)/2, a*b }
     hX^          % Concatenate into array, take square root of each element.
                  % Stack: { [RMS, HM] } 
        GYm       % Arithmetic mean of input.
                  % Stack: { [RMS,GM], AM }
           Gpy    % Product of input, duplicate AM from below.
                  % Stack: { [RMS,GM], AM, a*b, AM
              /   % Divide to get HM
                  % Stack { [RMS,GM], AM, HM}
               vs % Concatenate all to get [RMS,GM,AM,HM], sum.

2

ওহম ভি 2 , 16 বাইট

²Σ½¬³Π¬³Σ½D³Πs/Σ

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

ব্যাখ্যা

square sum halve sqrt input product sqrt input sum halve dupe input product swap div sum

... ওহমের কাছে যদি ভার্জোজ মোড থাকে। : P: P

²Σ½¬³Π¬³Σ½D³Πs/Σ

                  implicit input       [[7, 6]]
²Σ½¬              root mean square
²                  square              [[49, 36]]
 Σ                 sum                 [85]
  ½                halve               [42.5]
   ¬               square root         [6.519]
    ³Π¬           geometric mean
    ³              push first input    [6.519, [7, 6]]
     Π             product             [6.519, 42]
      ¬            square root         [6.519, 6.481]
       ³Σ½        arithmetic mean
       ³           push first input    [6.519, 6.481, [7, 6]]
        Σ          sum                 [6.519, 6.481, 13]
         ½         halve               [6.519, 6.481, 6.500]
          D³Πs/   harmonic mean
          D        duplicate           [6.519, 6.481, 6.500, 6.500]
           ³       push first input    [6.519, 6.481, 6.500, 6.500, [7, 6]]
            Π      product             [6.519, 6.481, 6.500, 6.500, 42]
             s     swap                [6.519, 6.481, 6.500, 42, 6.500]
              /    divide              [6.519, 6.481, 6.500, 6.461]
               Σ  sum                  [25.961]
                  implicit output      [25.961]

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

2

টিআই-বেসিক (টিআই -৪৮ প্লাস সিই), 27 25 বাইট

√(sum(Ans2)/2)+mean(Ans)+2prod(Ans)/sum(Ans)+√(prod(Ans

স্ক্রোবল থেকে -2 বাইট

দুটি সংখ্যার একটি তালিকা নেয় Ansএবং সুস্পষ্টভাবে চারটি অর্থের যোগফল দেয়; যেমন {7,6}:prgmNAMEপেতে চালানো 25.96148157

ব্যাখ্যা:

√(sum(Ans2)/2): 8 বাইট: মূল মানে বর্গ

mean(Ans): 5 3 বাইট: পাটিগণিত গড় (পুরাতন sum(Ans)/2:)

2prod(Ans)/sum(Ans): 8 বাইট: সুরেলা গড় mean

√(prod(Ans: 3 বাইট: জ্যামিতিক গড়

3 +3 বাইট +স্প্যানিশ ভাষায়


আমার মনে হয় আপনার এখানে 2 ইন-এর পরে অতিরিক্ত তুলনামূলক বন্ধন বন্ধনী রয়েছে sum(Ans)/2)
kamoroso94

@ কামোরসো94 স্থির, ধন্যবাদ।
pizzapants184

mean(বিল্টিন দিয়ে দুটি বাইট সংরক্ষণ করুন ।
খুলনায়সথ না'বাড়িয়া



1

জাভাস্ক্রিপ্ট, 47 বাইট

a=>b=>(c=a+b)/2+(c*c/2-(d=a*b))**.5+d**.5+2*d/c

বেশ তুচ্ছ


1

জাভা 8, 63 বাইট

a->b->Math.sqrt((a*a+b*b)/2)+(a+b)/2+Math.sqrt(a*b)+2/(1/a+1/b)

যেমন Doubleএবং আউটপুট হিসাবে উভয় পরামিতি নেয় Double
এখানে চেষ্টা করুন।

বা (এছাড়াও 63 বাইট ):

a->b->(a+b+Math.sqrt(a*a+b*b<<1))/2+Math.sqrt(a*b)+2d*a*b/(a+b)

যেমন Integerএবং আউটপুট হিসাবে উভয় পরামিতি নেয় Double
এখানে চেষ্টা করুন।




1

আসলে , 15 বাইট

æßπ√+ßΣßπτ/+ßµ+

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

ইয়া আসলে রুট স্কোয়ার গড়ের জন্য একটি বিল্ট-ইন রয়েছে!

æßπ√ + ßΣßπτ / + ßµ + ~ সম্পূর্ণ প্রোগ্রাম।

~ ~ গাণিতিক গড়।
 । ~ পণ্য, স্কোয়ার রুট (জ্যামিতিক গড় গণনা)।
    + ~ সংযোজন।
     ~ the ইনপুটটির যোগফল পুশ করুন।
       ~ ~ ইনপুটটির পণ্যটি দ্বিগুণ করুন।
          / Ide ভাগ করুন।
           + ~ সংযোজন।
            ~ ~ রুট স্কোয়ার গড় Mean
              + ~ সংযোজন।


1

গ্রোভী, 54 বাইট

{a,b->c=a+b;((a*a+b*b)/2)**0.5+c/2+(a*b)**0.5+2*a*b/c}

-2 মিঃ এক্সকোডারকে এমন একটি সম্পাদনার জন্য ধন্যবাদ যা আমাকে বোবা ভাবায়।


1
আমি মনে করি আপনি এর a**2সাথে a*aএবং এর b**2সাথে প্রতিস্থাপন করতে পারবেনb*b
মিঃ এক্সকোডার

1

সি # (.নেট কোর) , 76 বাইট

জন্য +13 বাইট using System;

a=>b=>Math.Sqrt((a*a+b*b)/2)+(a+b)/2+Math.Sqrt(a*b)+2/(1/a+1/b)

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


আপনি using System;উভয় দ্বারা বাইট সংরক্ষণ এবং সংরক্ষণ করতে পারেন System.। দ্রষ্টব্য: আপনি একটি কম বিরক্তিকর পথ (76 সঠিক একই বাইট গোনা সঙ্গে) চাইলে: using System;a=>b=>(a+b+Math.Sqrt(a*a+b*b<<1))/2+Math.Sqrt(a*b)+2d*a*b/(a+b)। ;)
কেভিন ক্রুইজসেন

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