求大神解决一个MATLAB程序如果p是直角三角形{a,b,c}的周长,1000以下的p中哪一个具有最多的解?如果p是一个直角三角形的周长,三角形的三边长{a,b,c}都是整数.对于p= 120一共有三组解:{20,48,52},{24,
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 10:10:44
求大神解决一个MATLAB程序如果p是直角三角形{a,b,c}的周长,1000以下的p中哪一个具有最多的解?如果p是一个直角三角形的周长,三角形的三边长{a,b,c}都是整数.对于p= 120一共有三组解:{20,48,52},{24,
求大神解决一个MATLAB程序
如果p是直角三角形{a,b,c}的周长,1000以下的p中哪一个具有最多的解?
如果p是一个直角三角形的周长,三角形的三边长{a,b,c}都是整数.对于p= 120一共有三组解:
{20,48,52},{24,45,51},{30,40,50}
对于1000以下的p中,哪一个能够产生最多的解?
求大神解决一个MATLAB程序如果p是直角三角形{a,b,c}的周长,1000以下的p中哪一个具有最多的解?如果p是一个直角三角形的周长,三角形的三边长{a,b,c}都是整数.对于p= 120一共有三组解:{20,48,52},{24,
function [ Num,n,A ] = MostRTG( UpperNum )
%mostrtg 求取给定最大值以内的数能够分解的成直角三角形最多的数
% 此处显示详细说明
% UpperNum 是输入参数,设置最大数,默认值为1000
% Num 返回找到的数,n 返回可拆解的个数,A 返回可拆解的直角三角形各边边长
if nargin==0
UpperNum=1000;
end
n=0;
for i=1:UpperNum
m=0;
B=[];
for j=fix(i/3)+1:fix(i/2)
for k=fix(j/2):j
l=i-j-k;
if l^2+k^2==j^2 && l<k && l>0
m=m+1;
B=[B;l k j];
end
end
end
if m>n
Num=i;
n=m;
A=B;
end
end
end
结果是840,8个