作者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
1F:推 ALGO:推一个。 12/31 17:54
2F:推 akida:推! 12/31 17:59
3F:推 NTUbug:推! 01/01 00:28
4F:推 akida: 新 年 快 乐 !! 01/01 00:33
5F:推 goshfju:专业 01/01 00:35
6F:推 chenghe:这个赞~ 01/01 01:40
7F:推 Heumay:专业!!! 01/01 11:25
8F:推 dingponlee:赞 01/01 18:16
9F:推 olioolio:推! 01/01 23:56
10F:推 andygenisu:推 01/02 00:02
11F:推 ToMoveJizz:推! 01/02 02:24
12F:推 Lindeman5566:GOOD 01/07 16:48
13F:推 IssacYUEH:用心推~ 01/08 21:00
14F:推 aegisty:好棒阿 01/17 04:17