সমষ্টিগত বর্গ পার্থক্য Sum


15

প্রথম দশটি প্রাকৃতিক সংখ্যার স্কোয়ারের যোগফল, 12+22++102=385

প্রথম দশটি প্রাকৃতিক সংখ্যার যোগফলের বর্গক্ষেত্র হয়,

(1+2+...+10)2=552=3025

সুতরাং প্রথম দশটি প্রাকৃতিক সংখ্যার বর্গের যোগফল এবং যোগফলের বর্গের পার্থক্য

3025385=2640

প্রদত্ত ইনপুট n এর জন্য প্রথম n প্রাকৃতিক সংখ্যার স্কোয়ারের যোগফল এবং যোগফলের বর্গের মধ্যে পার্থক্য সন্ধান করুন।

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

1       => 0
2       => 4
3       => 22
10      => 2640
24      => 85100
100     => 25164150

এই চ্যালেঞ্জটি প্রথম প্রকল্পের এলার # 6 এ ঘোষণা করা হয়েছিল

বিজয়ী মানদণ্ড

  • নেতিবাচক বা শূন্য ইনপুট দিয়ে কী আচরণ করা উচিত সে সম্পর্কে কোনও নিয়ম নেই।

  • সংক্ষিপ্ত উত্তর জেতে।


4
এই চ্যালেঞ্জটির একটি বিজয়ী মানদণ্ডের প্রয়োজন (যেমন কোড গল্ফ)
ডাইলানান

2
এটি এই প্রশ্নের সাবসেট
শৃঙ্খলাবদ্ধ coinheringaahing

1
ক্রম 0 সূচী করা যেতে পারে? অর্থাৎ প্রাকৃতিক সংখ্যা পর্যন্ত n?
জো কিং


3
@ এনিগমা সত্যিই আমি মনে করি না যে এটি লক্ষ্যটির সদৃশ কারণ এখানে অনেক উত্তর সহজেই এর উত্তর হতে পোর্ট করে না, তাই এটি কিছু যুক্ত করে।
জোনাথন অ্যালান

উত্তর:


10

জেলি ,  5  4 বাইট

Ḋ²ḋṖ

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

কিভাবে?

প্রয়োগগুলি আমি=2এন(আমি2(আমি-1)) ...

Ḋ²ḋṖ - Link: non-negative integer, n
Ḋ    - dequeue (implicit range)       [2,3,4,5,...,n]
 ²   - square (vectorises)            [4,9,16,25,...,n*n]
   Ṗ - pop (implicit range)           [1,2,3,4,...,n-1]
  ḋ  - dot product                    4*1+9*2+16*3+25*4+...+n*n*(n-1)

8

পাইথন 3 ,  28  27 বাইট

-1 xnor ধন্যবাদ

lambda n:(n**3-n)*(n/4+1/6)

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

কার্যকরী n(n1)(n+1)(3n+2)/12


পাইথন 2,  29  28 বাইট:lambda n:(n**3-n)*(3*n+2)/12


1
আপনি n*~-n**2*বা দিয়ে বাইট শেভ করতে পারেন (n**3-n)*
xnor

8

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

1⊥⍳×⍳×1-⍨⍳

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

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

1⊥⍳×⍳×1-⍨⍳
  ⍳×⍳×1-⍨⍳  Compute (x^3 - x^2) for 1..n
1          Sum

"বর্গাকার সমষ্টি" "কিউবের সমষ্টি" এর সমান হয় তা ব্যবহার করে।


আমার জন্য 1⊥⍳ × ⍳ × 1-a কোনও ফাংশন নয়; আমি 1⊥⍳ × ⍳ × 1-⍨⍳10 চেষ্টা করেছিলাম এবং আমার জন্য সংকলন না করার জন্য ...
RosLuP

1
@ রোসলুপ আপনাকে এটিকে প্রথমে একটি ভেরিয়েবলের জন্য নির্ধারণ করতে হবে (যেমনটি আমি টিআইও লিঙ্কটিতে করেছি) বা এটি একটি জোড়া বন্ধনীতে আবদ্ধ করতে হবে, যেমন (1⊥⍳×⍳×1-⍨⍳)10
বুবলার

7

টিআই-বেসিক (টিআই -83 সিরিজ), 12 11 বাইট

sum(Ans² nCr 2/{2,3Ans

প্রয়োগসমূহ (n22)(12+13n)। ইনপুট নেয়Ans: উদাহরণস্বরূপ,10:prgmXইনপুটটির জন্য ফলাফল গণনা করতেচালান10


ভাল ব্যবহার nCr!
লিন

6

ব্রেন-ফ্লাক , 74 72 68 64 বাইট tes

((([{}])){({}())}{})([{({}())({})}{}]{(({}())){({})({}())}{}}{})

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

বেশ কয়েকটি চালিত শিফট দিয়ে এটি করার সহজ উপায়। আশা করি কেউ এটিকে আরও খাটো করার জন্য আরও কিছু কৌশল খুঁজে পাবেন।


5

কাঠকয়লা , 12 10 বাইট

IΣEN×ιX⊕ι²

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা: (Σ1এনএক্স)2=Σ1এনএক্স3 তাই (Σ1এনএক্স)2-Σ1এনএক্স2=Σ1এন(এক্স3-এক্স2)=Σ1এন(এক্স-1)এক্স2=Σ0এন-1এক্স(এক্স+ +1)2

   N        Input number
  E         Map over implicit range i.e. 0 .. n - 1
        ι   Current value
       ⊕    Incremented
         ²  Literal 2
      X     Power
     ι      Current value
    ×       Multiply
 Σ          Sum
I           Cast to string
            Implicitly print





3

এপিএল (ডায়ালগ) , 16 বাইট

((×⍨+/)-(+/×⍨))⍳

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

 (×⍨+/)            The square  self) of the sum (+ fold)
       -           minus
        (+/×⍨)     the sum of the square
(             )⍳   of [1, 2,  input].

(+/×⍨)T টিপ1⊥×⍨ হিসাবে ।
অ্যাডম

1
আরও বাইটটি ভিতরে রেখে বাঁচানো যেতে পারে(×⍨1⊥⍳)-⍳+.×⍳
ক্রিটসি লিথোস

3

গণিত, 21 17 বাইট

-4 বাইট ধন্যবাদ আলেফালফাকে

(3#+2)(#^3-#)/12&

খাঁটি ফাংশন। একটি পূর্ণসংখ্যা ইনপুট হিসাবে নেয় এবং একটি পূর্ণসংখ্যা আউটপুট হিসাবে প্রদান করে। Sumএস, Rangeএস, Trএস ইত্যাদি যেহেতু প্রচুর বাইট গ্রহণ করে কেবলমাত্র বহুবর্ষটি প্রয়োগ করে ।



@ এলফাল্ফ ধন্যবাদ!
LegionMammal978

কেবলমাত্র বহুপদী মূল্যায়ন না করে সেখানে পৌঁছানো সম্ভব: #.(#^2-#)&@*Rangeঅন্য একটি সাধারণ সমাধান প্রয়োগ করে। (কিন্তু এটি 17 বাইট।) এবং আমরা 18 বাইটে সাদাসিধা অ্যালগরিদম বাস্তবায়ন করতে পারেন: Tr@#^2-#.#&@*Range
মিশা লাভরভ



3

05 এ বি 1 ই , 8 বাইট

ÝDOnsnO-

ব্যাখ্যা:

ÝDOnsnO-     //Full program
Ý            //Push [0..a] where a is implicit input
 D           //Duplicate top of stack
  On         //Push sum, then square it
    s        //Swap top two elements of stack
     nO      //Square each element, then push sum
       -     //Difference (implicitly printed)

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


LDnOsOn-আমার প্রথম চেষ্টা ছিল।
ম্যাজিক অক্টোপাস n

3

সি, সি ++, 46 40 37 বাইট (# নির্দিষ্ট), 50 47 46 বাইট (ফাংশন)

-1 বাইট জ্যাকারিকে ধন্যবাদ ý

-11 বাইট সিলিংক্যাট ধন্যবাদ

ম্যাক্রো সংস্করণ:

#define F(n)n*n*~n*~n/4+n*~n*(n-~n)/6

ফাংশন সংস্করণ:

int f(int n){return~n*n*n*~n/4+n*~n*(n-~n)/6;}

থোজ লাইনগুলি 2 টি সূত্রের উপর ভিত্তি করে:

1 এবং n এর মধ্যে সংখ্যার যোগফল 1 এবং n = n*(n+1)/2
এর মধ্যে স্কোয়ারের যোগফলn*(n+1)*(2n+1)/6

সুতরাং উত্তর পেতে সূত্রটি সহজভাবে (n*(n+1)/2) * (n*(n+1)/2) - n*(n+1)*(2n+1)/6

এবং এখন বাইট গণনাটি "অনুকূলিতকরণ" করার জন্য, আমরা প্রথম বন্ধনী ভেঙে স্টাফটিকে ঘুরে দেখি , এটি পরীক্ষা করার সময় সর্বদা একই ফলাফল দেয়

(n*(n+1)/2) * (n*(n+1)/2) - n*(n+1)*(2n+1)/6=> n*(n+1)/2*n*(n+1)/2 - n*(n+1)*(2n+1)/6=> n*(n+1)*n*(n+1)/4 - n*(n+1)*(2n+1)/6

প্যাটার্নটি লক্ষ্য করুন p = n*n+1 = n*n+n, সুতরাং ফাংশনে, আমরা অন্য পরিবর্তনশীল ঘোষণা করি int p = n*n+nএবং এটি দেয়:

p*p/4 - p*(2n+1)/6

জন্য p*(p/4-(2*n+1)/6)এবং তাই n*(n+1)*(n*(n+1)/4 - (2n+1)/6), এটা অর্ধেক সময় শুধুমাত্র কাজ করে, এবং আমি সন্দেহভাজন পূর্ণসংখ্যা বিভাজন কারণ (হতে f(3)22 এর পরিবর্তে 24 দান, f(24)85100 পরিবর্তে 85200 দান, তাই আমরা করতে পারেন গুণক নির্ণয় করা ম্যাক্রো এর সূত্র না যে ভাবে, এমনকি যদি গাণিতিকভাবে এটা একই.

ম্যাক্রো এবং ফাংশন সংস্করণ উভয়ই ম্যাক্রো প্রতিস্থাপনের কারণে এখানে রয়েছে:

F (3) 3*3*(3+1)*(3+1)/4-3*(3+1)*(2*3+1)/6 = 22
এফ দেয় (5-2) দেয়5-2*5-2*(5-2+1)*(5-2+1)/4-5-2*(5-2+1)*(2*5-2+1)/6 = -30

এবং অপারেটর প্রাধান্য সঙ্গে জগাখিচুড়ি। ফাংশন সংস্করণে এই সমস্যা নেই


1
আপনি পারে সব প্রতিস্থাপন বাইট অনেকটা খরচে ম্যাক্রো সঙ্গে সমস্যা ঠিক nসঙ্গে (n)। এছাড়াও, F(n) n=> F(n)nনির্বিশেষে
জাকারি

এটা তোলে পুনরায় সাজাতে সম্ভব return p*p/4-p*(n-~n)/6করতে return(p/4-(n-~n)/6)*p
জাকারি

@ জ্যাচারý না, এটি কখনও কখনও ইনপুট "3" এর 22 এর পরিবর্তে 24 বা ইনপুট "24" এর 8585 পরিবর্তে 85200 এর মতো খারাপ ফলাফল দেয়। আমি পূর্ণসংখ্যা বিভাগটিকে এর কারণ বলে সন্দেহ করি
HatsuPointerKun

ওহ, সর্বদা এটি সম্পর্কে ভুলবেন না
জাকারি


2

পাইথ, 7 বাইট

sm**hdh

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

নীলের উত্তরে সূত্রটি ব্যবহার করে ।

sm**hdhddQ   Implicit: Q=eval(input())
             Trailing ddQ inferred
 m       Q   Map [0-Q) as d, using:
    hd         Increment d
   *  hd       Multiply the above with another copy
  *     d      Multiply the above by d
s            Sum, implicit print 






2

Clojure , 58 বাইট

(fn[s](-(Math/pow(reduce + s)2)(reduce +(map #(* % %)s))))

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


সম্পাদনা: আমি প্রশ্নটি ভুল বুঝেছি

ক্লোজার , 55 , 35 বাইট

#(* %(+ 1 %)(- % 1)(+(* 3 %)2)1/12)

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


1
এটি ঠিক করার জন্য ধন্যবাদ। এবং শুধু একটি মাথা কি আপনার শেষ এন্ট্রি সংক্রান্ত আপ, (apply +চেয়ে খাটো (reduce +
কারসিজেনিকেট

@ কারসিজেনিকেট ধন্যবাদ!
TheGreatGeek

1
কোনও পরীক্ষার কেস চালানোর জন্য আপনি কি আপনার পারমিলিংক সম্পাদনা করতে পারবেন? যেমনটি হ'ল, আমি এমন লোকদের সহায়তা করি না যারা ক্লোজুরে জানেন না।
ডেনিস


1

এপিএল (এনএআরএস), ১৩ টি চর, ২ by বাইট

{+/⍵×⍵×⍵-1}∘⍳

Sum'w = 1..n '(w w (w-1)) সূত্রটি ব্যবহার করুন আমি অন্য কেউ লিখে + বা - "1⊥⍳ × ⍳ × ⍳-1" হিসাবে একইভাবে লিখেছি; পরীক্ষা:

  g←{+/⍵×⍵×⍵-1}∘⍳
  g 0
0
  g 1
0
  g 2
4
  g 3
22
  g 10
2640


1

কিউবিসিক, 45 44 বাইট

খাঁটি-গণিতে যাওয়া বাঁচায় 1 বাইট!

INPUT n
?n^2*(n+1)*(n+1)/4-n*(n+1)*(2*n+1)/6

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


পূর্ববর্তী, লুপ-ভিত্তিক উত্তর

INPUT n
FOR q=1TO n
a=a+q^2
b=b+q
NEXT
?b^2-a

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

দ্রষ্টব্য যে আরএপিএল কিছুটা প্রসারিত হয়েছে কারণ দোভাষী অন্যথায় ব্যর্থ হয়।


1

জেএল , 13 10 বাইট

#&àĝ&oȦ

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

ব্যাখ্যা (স্বয়ংক্রিয়ভাবে উত্পন্ন):

./jael --explain '#&àĝ&oȦ'
ORIGINAL CODE:  #&àĝ&oȦ

EXPANDING EXPLANATION:
à => `a
ĝ => ^g
Ȧ => .a!

EXPANDED CODE:  #&`a^g&o.a!

COMPLETED CODE: #&`a^g&o.a!,

#          ,            repeat (p1) times:
 &                              push number of iterations of this loop
  `                             push 1
   a                            push p1 + p2
    ^                           push 2
     g                          push p2 ^ p1
      &                         push number of iterations of this loop
       o                        push p1 * p2
        .                       push the value under the tape head
         a                      push p1 + p2
          !                     write p1 to the tapehead
            ␄           print machine state

1

05 এ বি 1 ই , 6 বাইট

LDOšnÆ

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

ব্যাখ্যা:

           # implicit input (example: 3)
L          # range ([1, 2, 3])
 DOš       # prepend the sum ([6, 1, 2, 3])
    n      # square each ([36, 1, 4, 9])
     Æ     # reduce by subtraction (22)
           # implicit output

Æপ্রায়শই দরকারী হয় না, তবে এই সময়টি জ্বলজ্বল করার। এটি LOnILnO-দু'জনকে পুরো দুটি বাইট দ্বারা প্রহার করে।

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