24小时热门版块排行榜    

CyRhmU.jpeg
查看: 660  |  回复: 2
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

holmescn

金虫 (正式写手)

[交流] Euler 工程 第三十九题:最多的直角三角形已有1人参与

如果p是直角三角形的周长,那么对于p=120这个周长来说,三个边长有三组解:(20,48,52), (24,45,51),(30,40,50)

那么对于p<=1000来说,哪个周长能构建最多的直角三角形?

PS:原来right angle triangle是直角三角形.....
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-12 11:16:27
这个不定方程组的解法,好像没什么好玩的。不过,p应该是偶数。
3楼2011-07-11 09:12:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
xzhdty(金币+2): 谢谢 2011-07-10 16:21:43
余泽成(程序强帖+1): 鼓励交流! 2011-07-11 20:45:48
跟前面有个题类似
CODE:
% ===analysis
% a^2+b^2 = c^2; c = p-a-b;
% ==> a^2 = (p-a-b)^2-b^2
% ==> a^2 = (p-a)(p-a-2b) = (p-a)^2-2b(p-a)
% ==> p(p-2a) = 2b(p-a) ---(1)
% ==> 2b/p + a/(p-a) = 1
% ==> 2b

% ==> a

function result = euler39()
tic;
maxLen = 3;
for p=120:1000
    curLen = 0;
    for a=3:p/2 % (2)
        if mod(p*(p-2*a),2*(p-a))==0 %(1)
            curLen = curLen+1;
        end
    end
   
    if curLen>maxLen
        maxLen = curLen;
        result = p;
    end
end
toc;
end


结果
CODE:
% Elapsed time is 0.027793 seconds.
% ans =
%    840

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-07-10 16:08:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见