作者vvbird (vv)
看板tutor
標題[分享] a^2 + b^2 + c^2 = d^2
時間Mon Dec 31 16:52:52 2012
有自己在出數學題目的高中老師,
在空間向量的時候, 應該會遇到"湊數字"的問題
也就是, 若 a^2 + b^2 + c^2 = d^2 時,
要讓 a, b, c, d 都是正整數, 除了 (a, b, c) = (2, 2, 1)
真的就很難找到好用的數字
所以, 就寫了個小程式, 把答案附上, 給老師們參考
2^2 + 2^2 + 1^2 = 3^2
6^2 + 3^2 + 2^2 = 7^2
7^2 + 4^2 + 4^2 = 9^2
7^2 + 6^2 + 6^2 = 11^2
8^2 + 4^2 + 1^2 = 9^2
9^2 + 6^2 + 2^2 = 11^2
11^2 + 10^2 + 2^2 = 15^2
12^2 + 4^2 + 3^2 = 13^2
12^2 + 9^2 + 8^2 = 17^2
12^2 + 12^2 + 1^2 = 17^2
14^2 + 5^2 + 2^2 = 15^2
15^2 + 10^2 + 6^2 = 19^2
16^2 + 11^2 + 8^2 = 21^2
16^2 + 13^2 + 4^2 = 21^2
16^2 + 15^2 + 12^2 = 25^2
17^2 + 6^2 + 6^2 = 19^2
18^2 + 6^2 + 1^2 = 19^2
18^2 + 13^2 + 6^2 = 23^2
18^2 + 14^2 + 3^2 = 23^2
19^2 + 8^2 + 4^2 = 21^2
20^2 + 5^2 + 4^2 = 21^2
20^2 + 12^2 + 9^2 = 25^2
20^2 + 20^2 + 17^2 = 33^2
21^2 + 16^2 + 12^2 = 29^2
21^2 + 18^2 + 14^2 = 31^2
22^2 + 6^2 + 3^2 = 23^2
22^2 + 14^2 + 7^2 = 27^2
22^2 + 21^2 + 6^2 = 31^2
23^2 + 10^2 + 10^2 = 27^2
23^2 + 14^2 + 2^2 = 27^2
24^2 + 12^2 + 11^2 = 29^2
24^2 + 16^2 + 3^2 = 29^2
24^2 + 24^2 + 23^2 = 41^2
25^2 + 10^2 + 2^2 = 27^2
25^2 + 20^2 + 8^2 = 33^2
26^2 + 7^2 + 2^2 = 27^2
26^2 + 18^2 + 15^2 = 35^2
26^2 + 22^2 + 19^2 = 39^2
27^2 + 14^2 + 6^2 = 31^2
27^2 + 24^2 + 8^2 = 37^2
28^2 + 16^2 + 7^2 = 33^2
28^2 + 17^2 + 4^2 = 33^2
28^2 + 21^2 + 12^2 = 37^2
28^2 + 24^2 + 3^2 = 37^2
29^2 + 22^2 + 14^2 = 39^2
29^2 + 26^2 + 2^2 = 39^2
29^2 + 28^2 + 20^2 = 45^2
30^2 + 6^2 + 5^2 = 31^2
30^2 + 17^2 + 6^2 = 35^2
30^2 + 18^2 + 1^2 = 35^2
30^2 + 25^2 + 18^2 = 43^2
30^2 + 30^2 + 7^2 = 43^2
31^2 + 8^2 + 8^2 = 33^2
31^2 + 24^2 + 12^2 = 41^2
32^2 + 7^2 + 4^2 = 33^2
32^2 + 8^2 + 1^2 = 33^2
32^2 + 24^2 + 9^2 = 41^2
33^2 + 10^2 + 6^2 = 35^2
33^2 + 24^2 + 4^2 = 41^2
34^2 + 14^2 + 13^2 = 39^2
34^2 + 19^2 + 2^2 = 39^2
34^2 + 27^2 + 18^2 = 47^2
34^2 + 31^2 + 22^2 = 51^2
35^2 + 14^2 + 10^2 = 39^2
35^2 + 28^2 + 4^2 = 45^2
36^2 + 8^2 + 3^2 = 37^2
36^2 + 24^2 + 23^2 = 49^2
36^2 + 28^2 + 27^2 = 53^2
36^2 + 31^2 + 12^2 = 49^2
36^2 + 32^2 + 9^2 = 49^2
36^2 + 33^2 + 4^2 = 49^2
37^2 + 20^2 + 16^2 = 45^2
37^2 + 36^2 + 12^2 = 53^2
38^2 + 18^2 + 9^2 = 43^2
38^2 + 21^2 + 18^2 = 47^2
38^2 + 27^2 + 6^2 = 47^2
38^2 + 31^2 + 14^2 = 51^2
38^2 + 34^2 + 1^2 = 51^2
38^2 + 37^2 + 34^2 = 63^2
39^2 + 12^2 + 4^2 = 41^2
39^2 + 18^2 + 2^2 = 43^2
40^2 + 16^2 + 13^2 = 45^2
40^2 + 19^2 + 8^2 = 45^2
40^2 + 24^2 + 15^2 = 49^2
40^2 + 32^2 + 25^2 = 57^2
40^2 + 40^2 + 7^2 = 57^2
程式附在後面, 很簡單的 perl
#!/usr/bin/perl
#
#
$n = 40;
foreach $a(1..$n) {
foreach $b(1..$a) {
foreach $c(1..$b) {
$d = sqrt($a * $a + $b * $b + $c * $c);
if($d == int($d) and threef($a, $b, $c) == 1) {
print "$a^2 + $b^2 + $c^2 = $d^2\n";
}
}
}
}
sub threef
{
my ($x, $y, $z) = @_;
my $nd;
$nd = twof($x, $y);
$nd = twof($z, $nd);
# print "$x/$y/$z = $nd\n";
return $nd;
}
sub twof
{
my ($i, $j) = @_;
while(($i * $j) != 0) {
if($i >= $j) {
$i = $i - $j;
} else {
$j = $j - $i;
}
}
return ($i + $j);
}
--
家教經驗談 & 利用 TeX 編考卷與講義
http://dunst-kang.blogspot.com/
要轉錄文章的人請注意三件事
1. 請註明出處, 2. 請保留簽名檔, 3. 請發個 mail 讓我知道
我的動態...(要簡單的註冊才能互動)歡迎一起來囉
bbs 型的微型網誌(plurk)
http://plurk.com/dunst/invite
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.102.208
推 ALGO:推一個。 12/31 17:54
推 akida:推! 12/31 17:59
推 NTUbug:推! 01/01 00:28
推 akida: 新 年 快 樂 !! 01/01 00:33
推 goshfju:專業 01/01 00:35
推 chenghe:這個讚~ 01/01 01:40
推 Heumay:專業!!! 01/01 11:25
推 dingponlee:讚 01/01 18:16
推 olioolio:推! 01/01 23:56
推 andygenisu:推 01/02 00:02
推 ToMoveJizz:推! 01/02 02:24
推 Lindeman5566:GOOD 01/07 16:48
推 IssacYUEH:用心推~ 01/08 21:00
推 aegisty:好棒阿 01/17 04:17