matlab:有四个人的年龄成一等差数列,他们四人的年龄相加是 80 ,相乘是 156009 ,求他们的年龄.帮我看下哪里出错了,for i1=1:80; for i2=1:80; for i3=1:80; for i4=1:80; a=i1;
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 20:08:27
matlab:有四个人的年龄成一等差数列,他们四人的年龄相加是 80 ,相乘是 156009 ,求他们的年龄.帮我看下哪里出错了,for i1=1:80; for i2=1:80; for i3=1:80; for i4=1:80; a=i1;
matlab:有四个人的年龄成一等差数列,他们四人的年龄相加是 80 ,相乘是 156009 ,求他们的年龄.
帮我看下哪里出错了,
for i1=1:80;
for i2=1:80;
for i3=1:80;
for i4=1:80;
a=i1;
b=i2;
c=i3;
d=i4;
if a-b==b-c==c-d
a*b*c*d=156009;
a+b+c+d=80;
disp(a b c d)
end
end
end
end
end
matlab:有四个人的年龄成一等差数列,他们四人的年龄相加是 80 ,相乘是 156009 ,求他们的年龄.帮我看下哪里出错了,for i1=1:80; for i2=1:80; for i3=1:80; for i4=1:80; a=i1;
N=20;
M=80;
for n=1:N %%%等差值
for a=1:80%%a的年龄范围
b=a+n;
c=a+2*n;
d=a+3*n;%%得到b,c,d各自的年龄
if (a+b+c+d==80)&(a*(a+n)*(a+2*n)*(a+3*n)==156009)
disp([a b c d])
end
end
end
17 19 21 23
藐似,没什么对的,还是多看看书里例题,多看就会了,不难
可以用如下代码解你的方程组
[d,x]=solve('4*x+6*d-80=0','x*(x+d)*(x+2*d)*(x+3*d)-156009=0')
其中d表示等差数列的等差,x表示等差数列的第一个数
最终求得d=2,x=17,四个年龄分别为
17 19 21 23
a-b==b-c==c-d
不合语法
你的循环看得很无语啊