Perbedaan kuadrat dari jumlah

37

Temukan perbedaan antara kuadrat dari jumlah dan jumlah kuadrat.

Ini adalah representasi matematis:

(n)2n2

Program / metode Anda harus mengambil dua input, ini adalah batas bawah dan atas rentang Anda, dan inklusif. Batas akan seluruh bilangan bulat di atas 0.

Program / metode Anda harus mengembalikan jawabannya.

Anda dapat menggunakan basis mana saja yang Anda inginkan, tetapi mohon sebutkan jawaban Anda pada basis mana yang telah Anda gunakan.

Test case (Basis 10)

5,9      970
91,123   12087152
1,10     2640

Ini adalah golf kode biasa, jadi semakin pendek jawabannya semakin baik.

George
sumber
11
Perlu beberapa saat bagi saya untuk menyadari bahwa input adalah titik akhir dari suatu range.
Brad Gilbert b2gills
@ BradGilbertb2gills diedit untuk kejelasan
george
Ini lebih sederhana dari yang terlihat?
kucing
@cat apa maksudmu dengan itu? Ya matematika adalah hal-hal Alevel sederhana. Tapi itu semua tergantung bagaimana Anda bermain golf
george
@george Pertanyaan dan banyak jawaban membuatnya tampak seperti banyak pekerjaan, tetapi tidak
cat

Jawaban:

23

Python 2, 43 byte

f=lambda a,b,s=0:b/a and 2*a*s+f(a+1,b,s+a)

Uji di Ideone .

Bagaimana itu bekerja

Panggil fungsi yang ditentukan dalam spesifikasi g (a, b) . Kami memilikinya

Tentukan fungsi f (x, y, s) secara rekursif sebagai berikut.

Dengan menerapkan relasi rekurensi dari f (a, b, 0) total b - a kali, kita dapat menunjukkannya.

Ini adalah fungsi f pelaksanaan. Sementara b/amengembalikan integer non-nol, kode berikut anddijalankan, sehingga mengimplementasikan definisi rekursif dari f .

Setelah b/amencapai 0 , kita memiliki b> a dan lambda mengembalikan False = 0 , sehingga mengimplementasikan basis kasus dari definisi f .

Dennis
sumber
ah baiklah. Bisakah Anda menjelaskan metode Anda?
george
Ya, tapi saat ini saya mencoba untuk bermain golf sedikit lebih.
Dennis
terima kasih untuk formulanya. Saya kira saya tidak pernah melihatnya seperti itu karena kami tidak membahas jumlah seri seperti itu di sekolah. Cukup menarik!
george
2
@ george Saya sudah menyelesaikan penjelasannya.
Dennis
Ingin memberi tahu kami sedikit lebih banyak tentang bagaimana di dunia ide untuk mendefinisikan f muncul dalam pikiran Anda! Motivasi! Saya benar-benar tertarik.
Musa Al-hassy
15

MATL , 9 byte

&:&*XRssE

Cobalah online!

Penjelasan

&:   % Inclusive range between the two implicit inputs
&*   % Matrix of all pair-wise products
XR   % Upper triangular part of matrix, without the diagonal
ss   % Sum of all elements of the matrix
E    % Multiply by 2. Implicit display

Contoh

Ini adalah hasil parsial dari setiap baris untuk input 5dan 9:

  1. &:

    5 6 7 8 9
    
  2. &:&*

    25 30 35 40 45
    30 36 42 48 54
    35 42 49 56 63
    40 48 56 64 72
    45 54 63 72 81
    
  3. &:&*XR

    0 30 35 40 45
    0  0 42 48 54
    0  0  0 56 63
    0  0  0  0 72
    0  0  0  0  0
    
  4. &:&*XRss

    485
    
  5. &:&*XRssE

    970
    
Luis Mendo
sumber
7
Saya sangat suka melihat hasil parsial. Mereka sangat membantu memahami program. Terima kasih sudah memasukkan mereka!
DanTheMan
10

Jelly, 9 8 byte

rµS²_²S$

Cobalah online!

r         inclusive range from first input to second input
 µ        pass the range to a new monadic chain
  S       the sum
   ²      squared
    _     minus...
     ²S$  the squares summed

Terima kasih kepada FryAmTheEggman untuk satu byte!

Gagang pintu
sumber
3
Sekali ini, Jelly sebenarnya sangat mudah dibaca.
Adám
Bisakah saya membayar jawaban saya?
Leaky Nun
@ LeakyNun apa artinya itu?
Gagang Pintu
Ini .
Leaky Nun
6
Anting-anting yang bagus: S²_²S
Thomas Weller
10

Python 2, 45 byte

lambda a,b:(a+~b)*(a-b)*(3*(a+b)**2+a-b-2)/12

Solusi formulir tertutup - bukan yang terpendek, tapi saya pikir akan tetap layak untuk diposkan.

Penjelasan

Membiarkan p(n)menjadi angka piramidal persegi ke- n , dan menjadi angka segitiga ke- n . Kemudian, untuk n pada rentang a , ..., b :t(n)

  • ∑n = t(b)-t(a-1), dan
  • ² n² = p(b) - p(a-1)
  • Jadi (∑ n) ²-∑ n = = (t(b)-t(a-1))² - (p(b) - p(a-1)).

Ungkapan ini mengurangi ke dalam kode.

Sp3000
sumber
Hai, bisakah Anda menjelaskan persamaan Anda jika memungkinkan. Versi python saya lebih panjang 16 byte dan saya tidak tahu bagaimana Anda mendapatkan persamaan Anda
george
1
@george Membiarkan p(n)menjadi nomor piramidal kuadratn ke-4 , dan menjadi bilangan segitiga ke - th . Maka ini adalah versi sederhana dari . t(n)n(t(b)-t(a-1))^2 - (p(b) - p(a-1))
Martin Ender
@ MartinEnder Jadi itu rumus tepat yang saya gunakan, tetapi Sp3000 telah menyederhanakannya dengan cara yang tidak bisa saya mengerti. Skrip python saya adalah: (b * - ~ ba * ~ -a) ** 2 / 4- (b * - ~ b * (2 * b + 1) -a * ~ -a * (2 * a-1) ) / 6 jika itu ada gunanya. Saya telah bermain golf sebanyak yang saya bisa dua formula
george
@george Terkadang, dengan masalah seperti ini, cara termudah adalah membuat Wolfram | Alpha melakukan bagian yang membosankan, lalu memeriksa ulang untuk memastikan itu benar. Sejujurnya, saya tidak berpikir saya bisa menarik (a-b-1)faktor keluar (b*(b+1)*(2b+1)-a*(a-1)*(2a-1))/6sendiri.
Sp3000
@ Sp3000 itu cara yang bagus untuk melakukannya. Saya akan mencobanya di masa depan
george
6

05AB1E, 8 byte

ŸDOnsnO-

Dijelaskan

ŸD       # range from a to b, duplicate
  On     # sum and square first range
    s    # swap top 2 elements
     nO  # square and sum 2nd range
       - # take difference

Cobalah online

Emigna
sumber
Apakah 05AB1E versi ROT13 dari Jelly mungkin? Mengganti r dengan Ÿ, µ oleh D, S oleh O, ² oleh n, _ oleh s dan $ oleh -.
Thomas Weller
4
@ ThomasWeller: Mereka sebenarnya sangat berbeda. Offset umum antara beberapa "fungsi" kemungkinan besar adalah kebetulan. Jelly adalah bahasa diam-diam tentang fungsi chaining (afaik), sedangkan 05AB1E adalah bahasa berbasis tumpukan.
Emigna
6

Mathematica, 21 byte

Tr[x=Range@##]^2-x.x&

Fungsi yang tidak disebutkan namanya mengambil dua argumen dan mengembalikan perbedaan. Pemakaian:

Tr[x=Range@##]^2-x.x&[91, 123]
(* 12087152 *)

Ada tiga trik golf kecil (dan cukup standar) di sini:

  • ##mewakili kedua argumen sekaligus, sehingga kita dapat menggunakan notasi awalan untuk Range. Range@##adalah singkatan Range[##]yang meluas ke Range[a, b]dan memberi kami jangkauan inklusif sebagaimana diperlukan.
  • Tradalah untuk melacak tetapi menggunakannya pada vektor hanya menjumlahkan vektor itu, menghemat tiga byte lebih Total.
  • x.xadalah produk titik, menghemat lebih dari empat byte Tr[x^2].
Martin Ender
sumber
Akan Variancemembantu?
Leaky Nun
@ LeakyNun Saya tidak mengerti caranya, karena salah satu dari dua istilah Varianceini dibagi dengan nyang lain n^2dan saya tidak melihat cara mudah untuk membatalkannya secara terpisah.
Martin Ender
1
Tr@#^2-#.#&@*Rangehanya 18 byte.
Misha Lavrov
@MishaLavrov rapi! Jangan ragu untuk menjadikannya jawaban yang terpisah. :)
Martin Ender
5

Labirin , 28 24 byte

?:?:}+=-:(:(#{:**+**#2/!

Cobalah online!

Penjelasan

Karena loop cenderung mahal di Labyrinth, saya pikir rumus eksplisit harus paling pendek, karena dapat dinyatakan sebagai kode linier.

Cmd Explanation                 Stacks [ Main | Aux ]
?   Read M.                     [ M | ]
:   Duplicate.                  [ M M | ]
?   Read N.                     [ M M N | ]
:   Duplicate.                  [ M M N N | ]
}   Move copy to aux.           [ M M N | N ]
+   Add.                        [ M (M+N) | N ]
=   Swap tops of stacks.        [ M N | (M+N) ]
-   Subtract.                   [ (M-N) | (M+N) ]
:   Duplicate.                  [ (M-N) (M-N) | (M+N) ]
(   Decrement.                  [ (M-N) (M-N-1) | (M+N) ]
:   Duplicate.                  [ (M-N) (M-N-1) (M-N-1) | (M+N) ]
(   Decrement.                  [ (M-N) (M-N-1) (M-N-2) | (M+N) ]
#   Push stack depth.           [ (M-N) (M-N-1) (M-N-2) 3 | (M+N) ]
{   Pull (M+N) over from aux.   [ (M-N) (M-N-1) (M-N-2) 3 (M+N) | ]
:   Duplicate.                  [ (M-N) (M-N-1) (M-N-2) 3 (M+N) (M+N) | ]
*   Multiply.                   [ (M-N) (M-N-1) (M-N-2) 3 ((M+N)^2) | ]
*   Multiply.                   [ (M-N) (M-N-1) (M-N-2) (3*(M+N)^2) | ]
+   Add.                        [ (M-N) (M-N-1) (3*(M+N)^2 + M - N - 2) | ]
*   Multiply.                   [ (M-N) ((M-N-1)*(3*(M+N)^2 + M - N - 2)) | ]
*   Multiply.                   [ ((M-N)*(M-N-1)*(3*(M+N)^2 + M - N - 2)) | ]
#   Push stack depth.           [ ((M-N)*(M-N-1)*(3*(M+N)^2 + M - N - 2)) 1 | ]
2   Multiply by 10, add 2.      [ ((M-N)*(M-N-1)*(3*(M+N)^2 + M - N - 2)) 12 | ]
/   Divide.                     [ ((M-N)*(M-N-1)*(3*(M+N)^2 + M - N - 2)/12) | ]
!   Print.                      [ | ]

Penunjuk instruksi kemudian mencapai jalan buntu dan harus berbalik. Ketika sekarang bertemu /itu mencoba pembagian dengan nol (karena bagian bawah tumpukan secara implisit diisi dengan nol), yang mengakhiri program.

Martin Ender
sumber
4

Haskell, 34 byte

a#b=sum[a..b]^2-sum(map(^2)[a..b])

Contoh penggunaan: 91 # 123-> 12087152.

Tidak ada yang bisa dijelaskan.

nimi
sumber
3

Matlab, 30 29 28 byte

Menggunakan ide Suever tentang normmemberi kita 2 byte lebih sedikit

@(x,y)sum(x:y)^2-norm(x:y)^2

Versi lama (sederhana):

@(x,y)sum(x:y)^2-sum((x:y).^2)
pajonk
sumber
3

Oktaf, 27 23 byte

@(x,y)sum(z=x:y)^2-z*z'

Menciptakan fungsi anonim bernama ansyang menerima dua input:ans(lower, upper)

Demo online

Penjelasan

Membuat vektor baris dari xhingga y(inklusif) dan menyimpannya di z. Kami kemudian menjumlahkan semua elemen menggunakan sumdan persegi itu ( ^2). Untuk menghitung jumlah kuadrat, kita melakukan multplikasi matriks antara vektor baris dan transposnya. Ini akan secara efektif menguadratkan setiap elemen dan merangkum hasilnya. Kami kemudian kurangi keduanya.

Suever
sumber
3

Java, 84 77 karakter, 84 77 byte

7 byte lebih kecil karena Martin Ender dan FryAmTheEggMan, terima kasih.

public int a(int b,int c){int e=0,f=0;for(;b<=c;e+=b,f+=b*b++);return e*e-f;}

Menggunakan tiga test case di pos asli: http://ideone.com/q9MZSZ

Tidak Disatukan:

public int g(int b, int c) {
    int e = 0, f = 0;
    for (; b <= c; e += b, f += b * b++);
    return e*e-f;
}

Prosesnya cukup jelas. Saya mendeklarasikan dua variabel untuk mewakili kuadrat dari jumlah dan jumlah kuadrat dan berulang kali menambahkannya dengan tepat. Akhirnya, saya mengembalikan perbedaan yang dihitung.

Mario Ishac
sumber
Selamat datang di PPCG! Anda mungkin dapat menyimpan byte dengan meletakkannya ++di f+=b*b++(sehingga Anda dapat meninggalkan slot ketiga forkosong) dan Anda juga tidak perlu persegi esebelum mengembalikannya (yaitu lakukan saja return e*e-f).
Martin Ender
Sebenarnya alih-alih meninggalkan slot ketiga yang forkosong, pindahkan bagian f+=b*b++dalamnya, sehingga Anda dapat menghemat titik koma dan kawat gigi.
Martin Ender
Tangkapan hebat @MartinEnder, terima kasih :)
Mario Ishac
Juga berdasarkan apa yang ada dalam pikiran Martin, ini tampaknya sedikit lebih pendek.
FryAmTheEggman
1
Rupanya, komentar terakhir saya salah. Ini sebenarnya adalah bagian khusus dari tata bahasa Jawa: pernyataan akhir untuk adalah sebenarnya jenis pernyataan khusus, yang disebut daftar ekspresi pernyataan. Pernyataan khusus ini dapat memiliki lebih dari satu pernyataan yang diikuti oleh koma. Lihat 14.14.1 (Anda harus menavigasi ke sana sendiri, saya tidak dapat menemukan cara untuk membuat tautan yang lebih tepat) dari spesifikasi bahasa.
FryAmTheEggman
3

JavaScript (ES6), 46 byte

f=(x,y,s=0,p=0)=>x<=y?f(x+1,y,s+x,p+x*x):s*s-p
Washington Guedes
sumber
3

JavaScript (ES6), 50 37 byte

f=(n,m,s=0)=>n>m?0:2*n*s+f(n+1,m,n+s)

Sekarang port dari solusi Python @ Dennis ♦.

Neil
sumber
Coba gunakan n=>m=>eval(`for(s=t=0;n<=m;t+=n++)s+=n*n;t*t-s`)
Mama Fun Roll
@MamaFunRoll Di sisi lain, saya dapat mencoba porting solusi Python Dennis ♦ ...
Neil
3

Faktor, 48 byte

[ [a,b] [ [ sq ] map sum ] [ sum sq ] bi - abs ]

Fungsi anonim.

[ 
  [a,b] ! a range from a to b 
  [ 
    [ sq ] map sum ! anonymous function: map sq over the range and sum the result 
  ] 
  [ sum sq ] ! the same thing, in reverse order
  bi - abs   ! apply both anon funcs to the range, subtract them and abs the result
]
kucing
sumber
3

Haskell, 36 byte

m#n=sum[2*i*j|i<-[m..n],j<-[i+1..n]]

λ> m # n = sum [ 2*i*j | i <- [m..n], j <- [i+1..n] ]
λ> 5 # 9
970
λ> 91 # 123
12087152
λ> 1 # 10
2640

Catat itu

(k=mnk)2-k=mnk2==k1=mnk2=mk2k1nk1k2=k1=mnk2=k1+1n2k1k2
Rodrigo de Azevedo
sumber
1
Anda tidak perlu orangtua di sekitar i+1.
Wheat Wizard
2
Juga jika Anda ingin berbicara golf Haskell dan Haskell Anda dapat bergabung dengan kami di ruang obrolan .
Wheat Wizard
3

Perl 6 ,  36 32  31 byte

{([+] $_=@_[0]..@_[1])²-[+] $_»²}
{([+] $_=$^a..$^b)²-[+] $_»²}
{[+]($_=$^a..$^b)²-[+] $_»²}

Menguji

Penjelasan:

{ # bare block with placeholder parameters $a and $b

  [+](# reduce with &infix:<+>
      # create a range, and store it in $_
      $_ = $^a .. $^b
  
  -
  [+] # reduce with &infix:<+>
    # square each element of $_ ( possibly in parallel )
    $_»²
}

Uji:

#! /usr/bin/env perl6
use v6.c;
use Test;

my @tests = (
  (5,9) => 970,
  (91,123) => 12087152,
  (1,10) => 2640,
);

plan +@tests;

my &diff-sq-of-sum = {[+]($_=$^a..$^b)²-[+] $_»²}

for @tests -> $_ ( :key(@input), :value($expected) ) {
  is diff-sq-of-sum(|@input), $expected, .gist
}
1..3
ok 1 - (5 9) => 970
ok 2 - (91 123) => 12087152
ok 3 - (1 10) => 2640
Brad Gilbert b2gills
sumber
1
Simpan byte memindahkan tugas dan menghindari parens: {$_=$^a..$^b;.sum²-[+] $_»²}
Phil H
1
25 byte: {.sum²-[+] $_»²}o&[..]
nwellnhof
2

Brachylog , 24 byte

:efL:{:2^.}a+S,L+:2^:S-.

Mengharapkan 2 angka dalam Input sebagai daftar, mis [91:123].

Penjelasan

:efL                     Find the list L of all integers in the range given in Input
    :{:2^.}a             Apply squaring to each element of that list
            +S,          Unify S with the sum of the elements of that list
               L+:2^     Sum the elements of L, then square the result
                    :S-. Unify the Output with that number minus S
Fatalisasi
sumber
2

APL, 23 20 byte

-/+/¨2*⍨{(+/⍵)⍵}⎕..⎕

Bekerja di NARS2000.

Adm
sumber
2

MATL, 11 byte

&:ts2^w2^s-

Cobalah online!

Penjelasan:

&:           #Create a range from the input
  t          #Duplicate it
   s2^       #Sum it and square it
      w      #swap the two ranges
       2^s   #Square it and sum it
          -  #Take the difference
DJMcMayhem
sumber
2

Pyth, 11 byte

s*M-F#^}FQ2

Cobalah online!

s*M-F#^}FQ2
       }FQ    Compute the range
      ^   2   Generate all pairs
   -F#        Remove those pairs who have identical elements
 *M           Product of all pairs
s             Sum.
Biarawati Bocor
sumber
Penggunaan filter yang bagus. Meskipun sudah ada built-in untuk tugas ini:s*M.P}FQ2
Jakube
1

CJam, 17 byte

q~),>_:+2#\2f#:+-

Uji di sini.

Penjelasan

q~       e# Read and evaluate input, dumping M and N on the stack.
),       e# Increment, create range [0 1 ... N].
>        e# Discard first M elements, yielding [M M+1 ... N].
_        e# Duplicate.
:+2#     e# Sum and square.
\2f#:+   e# Swap with other copy. Square and sum.
-        e# Subtract.

Atau, kita bisa menjumlahkan produk dari semua pasangan yang berbeda (pada dasarnya mengalikan kuadrat dari jumlah, dan menghapus kotak), tapi itu satu byte lebih lama:

q~),>2m*{)-},::*:+
Martin Ender
sumber
1

PowerShell v2 +, 47 byte

Dua variasi

param($n,$m)$n..$m|%{$o+=$_;$p+=$_*$_};$o*$o-$p

$args-join'..'|iex|%{$o+=$_;$p+=$_*$_};$o*$o-$p

Dalam kedua kasus tersebut, kami membuat kisaran dengan ..operator, menyalurkannya ke loop |%{...}. Setiap iterasi, kami mengakumulasikan $odan $psebagai jumlah atau jumlah kuadrat. Kami kemudian menghitung kuadrat-jumlah dengan $o*$odan mengurangi $p. Keluaran ditinggalkan di saluran pipa dan pencetakan tersirat.

AdmBorkBork
sumber
1

JavaScript (ES6), 67 byte

a=>b=>([s=q=0,...Array(b-a)].map((_,i)=>q+=(s+=(n=i+a),n*n)),s*s-q)

Test Suite

f=a=>b=>([s=q=0,...Array(b-a)].map((_,i)=>q+=(s+=(n=i+a),n*n)),s*s-q)
e=s=>`${s} => ${eval(s[0])}` // template tag format for tests
console.log(e`f(5)(9)`)
console.log(e`f(91)(123)`)
console.log(e`f(1)(10)`)

Patrick Roberts
sumber
1

J, 29 byte

Port of Doorknob's Jelly menjawab .

[:(+/@(^&2)-~2^~+/)[}.[:i.1+]

Pemakaian

>> f = [:(+/@(^&2)-~2^~+/)[}.[:i.1+]
>> 91 f 123x
<< 12087152

Di mana >>STDIN, <<adalah STDOUT, dan xuntuk presisi yang diperluas.

Biarawati Bocor
sumber
1

Pyke, 11 byte

h1:Ds]MXXs-

Coba di sini!

h1:         - inclusive_range(input)
   Ds]      -     [^, sum(^)]
      MX    -    deep_map(^, <--**2)
         s  -   ^[1] = sum(^[1])
          - -  ^[0]-^[1]
Biru
sumber
1

Julia, 25 byte

f(a,b,x=a:b)=sum(x)^2-x'x

Ini adalah fungsi yang menerima dua integer dan mengembalikan array integer 1x1.

Pendekatan sederhana: Buatlah UnitRangedari titik akhir adan bdan menyebutnya x, maka jumlah x, persegi itu, dan kurangi norma, yang dihitung sebagai transpose(x) * x.

Cobalah online! (termasuk semua kasus uji)

Alex A.
sumber
1
a\b=-(x=a:b)'x+sum(x)^2menghemat beberapa byte.
Dennis
1

TI-BASIC, 19 byte

Prompt N,M
randIntNoRep(N,M
sum(Ans)2-sum(Ans2

randIntNoRepmendapat kisaran (dikocok). Sisanya cukup jelas.

Conor O'Brien
sumber
1

Fith , 52 byte

{ 1 + range dup sum 2 pow swap { 2 pow } map sum - }

Ini adalah fungsi anonim yang mengambil dua angka di tumpukan dan meninggalkan satu nomor.

Penjelasan:

{
    1 + range dup      2 ranges from a to b inclusive
    sum 2 pow          Sum one and square it
    swap               Bring a fresh range to the top
    { 2 pow } map sum  Square every element and sum the list
    -                  Subtract
}
bkul
sumber
1
Jika Anda menyukai postfix, point-free dan stack fungsional berbasis prorgamming Anda mungkin menyukai Factor : D
kucing
1

GeoGebra, 91 byte

a(x)=(x²+x)/2
b(x)=x³/3+x²/2+x/6
c(x,y)=(a(y)-a(x))²
d(x,y)=b(y)-b(x)
c(x-1,y)-d(x-1,y)

Menentukan fungsi (mungkin e(x,y)) yang menghitung perbedaan yang diinginkan.
a(x)menghitung jumlah bilangan asli antara 0dan x.
b(x)menghitung jumlah kuadrat dari bilangan asli antara 0dan x.
c(x,y)pertama menghitung jumlah bilangan asli antara xdan y, lalu kuadratkan jumlah itu.
d(x,y)menghitung jumlah kuadrat antara b(x)dan b(y).
Baris terakhir mendefinisikan fungsi multi-variabel yang menyelesaikan perhitungan. Fungsi secara otomatis diberi nama, menyimpan beberapa byte.

Joe
sumber
Hai, bagaimana saya memanggil fungsi yang didefinisikan ini? Saya dapat mengetahui input di geogebra.org/classic#cas , tetapi tidak dapat menemukan cara menemukan atau memanggil fungsi terakhir.
sundar - Reinstate Monica
@sundar: Baris terakhir adalah ekspresi dalam x dan y. Kita bisa menambahkan e(x,y)=untuk memberinya nama, tetapi untuk menyimpan byte, kita tidak di sini. GeoGebra secara otomatis memberikan ekspresi sebuah nama (mungkin e, karena itulah huruf yang tersedia berikutnya) Saya tidak memiliki lingkungan yang tersedia saat ini, tetapi saya tidak akan menggunakan panel CAS. Panel aljabar dan bilah masukan harus melakukan pekerjaan dengan benar. (Sudah lama sejak saya menggunakan GGb online; gambar mental saya mungkin sudah ketinggalan zaman.)
Joe