尤拉四平方和恆等式(Euler's Four Square Identity)說明,如果兩個整數𝑎、𝑏 都能表示為四個整數平方數的和,則這兩個整數的乘積𝑎 ∗ 𝑏也能表示為四個整數平方數的和。
亦即
𝑎=𝑥12 +𝑥22 +𝑥32 +𝑥42
𝑏=y12 +y22 +y32 +y42
則
𝑎∗𝑏=z12 +z22 +z32 +z42
舉一例如下:
a = 30 = 1*1 + 2*2 + 3*3 + 4*4
b = 4 = 1*1 + 1*1 + 1*1 + 1*1
則
a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10 或
a*b = 120 = 2*2 + 4*4 + 6*6 + 8*8
輸入說明
分別輸入兩組數字代表構成 a 和 b 的四個平方數,每組四個範圍為 0~5 的整數;數字
間以空格隔開。
第一列輸入 a 的四個平方數第二列輸入 b 的四個平方數
輸出說明
輸出 a,b 和 a*b 的四個平方數組合。(a*b 的表示法不只一種,列出所有的組合,其中,
四個平方數皆為非負整數)
第一列輸出:a = 四個平方數的和 = 列出哪四個平方數的和
第二列輸出:b = 四個平方數的和 = 列出哪四個平方數的和
第三列以後每列輸出一種 a*b 的四個平方數之和: a*b = 四個平方數的和 = 列出哪四個平方數的和
以輸入以下二列為例:
1 2 3 4
1 1 1 1
則輸出時,
第一列輸出:a = 30 = 1*1 + 2*2 + 3*3 + 4*4
第二列輸出:b = 4 = 1*1 + 1*1 + 1*1 + 1*1 第三列以後每列輸出一種 a*b,如下:
a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10
a*b = 120 = 2*2 + 4*4 + 6*6 + 8*8
注意:第三列以後,同一列中所列出的四個平方數要由小到大排序輸出。不同列間的輸出順序,先比第一個數字,若相同則比第二個數字以此類推,每列間由小到大依序輸出。例如上例的第三列與第四列,比較四個平方數的第一個數字,因 0<2,所以輸出第三列為 a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10,第四行則為 a*b = 120 = 2*2 + 4*4 + 6*6
+ 8*8
範例
輸入 | 輸出 |
1 2 3 4 1 1 1 1 | a = 30 = 1*1 + 2*2 + 3*3 + 4*4 b = 4 = 1*1 + 1*1 + 1*1 + 1*1 a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10 a*b = 120 = 2*2 + 4*4 + 6*6 + 8*8 |
3 2 0 1 1 1 2 2 | a = 14 = 3*3 + 2*2 + 0*0 + 1*1 b = 10 = 1*1 + 1*1 + 2*2 + 2*2 a*b = 140 = 0*0 + 2*2 + 6*6 + 10*10 a*b = 140 = 1*1 + 3*3 + 3*3 + 11*11 a*b = 140 = 1*1 + 3*3 + 7*7 + 9*9 a*b = 140 = 2*2 + 6*6 + 6*6 + 8*8 a*b = 140 = 3*3 + 5*5 + 5*5 + 9*9 |
分別輸入兩組數字代表構成 a 和 b 的四個平方數,每組四個範圍為 0~5 的整數;數字
間以空格隔開。
第一列輸入 a 的四個平方數
第二列輸入 b 的四個平方數
輸出 a,b 和 a*b 的四個平方數組合。(a*b 的表示法不只一種,列出所有的組合,其中,
四個平方數皆為非負整數)
第一列輸出:a = 四個平方數的和 = 列出哪四個平方數的和
第二列輸出:b = 四個平方數的和 = 列出哪四個平方數的和
第三列以後每列輸出一種 a*b 的四個平方數之和:
a*b = 四個平方數的和 = 列出哪四個平方數的和
以輸入以下二列為例:
1 2 3 4
1 1 1 1
則輸出時,
第一列輸出:a = 30 = 1*1 + 2*2 + 3*3 + 4*4
第二列輸出:b = 4 = 1*1 + 1*1 + 1*1 + 1*1
第三列以後每列輸出一種 a*b,如下:
a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10
a*b = 120 = 2*2 + 4*4 + 6*6 + 8*8
注意:第三列以後,同一列中所列出的四個平方數要由小到大排序輸出。不同列間的輸
出順序,先比第一個數字,若相同則比第二個數字以此類推,每列間由小到大依序輸出。例如上例的第三列與第四列,比較四個平方數的第一個數字,因 0<2,所以輸出第三列為 a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10,第四行則為 a*b = 120 = 2*2 + 4*4 + 6*6
+ 8*8
1 2 3 4 1 1 1 1
a = 30 = 1*1 + 2*2 + 3*3 + 4*4 b = 4 = 1*1 + 1*1 + 1*1 + 1*1 a*b = 120 = 0*0 + 2*2 + 4*4 + 10*10 a*b = 120 = 2*2 + 4*4 + 6*6 + 8*8
3 2 0 1 1 1 2 2
a = 14 = 3*3 + 2*2 + 0*0 + 1*1 b = 10 = 1*1 + 1*1 + 2*2 + 2*2 a*b = 140 = 0*0 + 2*2 + 6*6 + 10*10 a*b = 140 = 1*1 + 3*3 + 3*3 + 11*11 a*b = 140 = 1*1 + 3*3 + 7*7 + 9*9 a*b = 140 = 2*2 + 6*6 + 6*6 + 8*8 a*b = 140 = 3*3 + 5*5 + 5*5 + 9*9
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |