关于Free pascal的编程问题。
请编一个程序,用来做一道数学题的:整数x,y满足方程2xy+x+y=83,则x+y=______或___________....
请编一个程序,用来做一道数学题的:整数x,y满足方程2xy+x+y=83,则x+y=______或___________.
展开
3个回答
展开全部
X,Y分别等于-1,-84或0,83(X,Y值可以互换)
用下面这个程序可以找出4种X,Y的值
var
x,y,z:longint;
begin
readln(z);
for x:=0 to 1000 do
begin
for y:=0 to 1000 do
begin
if 2*x*y+x+y=83
then
begin
writeln(x,' ',y);
end
else
begin
if 2*(-1)*x*y -x+y=83
then
begin
writeln('-',x,' ',y);
end
else
begin
if 2*(-1)*x*y+x-y=83
then
begin
writeln(x,' ','-',y);
end
else
begin
if 2*x*y-x-y=83
then
begin
writeln('-',x,' ','-',y);
end
else;
end;
end;
end;
end;
end;
end.
用下面这个程序可以找出4种X,Y的值
var
x,y,z:longint;
begin
readln(z);
for x:=0 to 1000 do
begin
for y:=0 to 1000 do
begin
if 2*x*y+x+y=83
then
begin
writeln(x,' ',y);
end
else
begin
if 2*(-1)*x*y -x+y=83
then
begin
writeln('-',x,' ',y);
end
else
begin
if 2*(-1)*x*y+x-y=83
then
begin
writeln(x,' ','-',y);
end
else
begin
if 2*x*y-x-y=83
then
begin
writeln('-',x,' ','-',y);
end
else;
end;
end;
end;
end;
end;
end.
追问
呵呵,可以了,谢谢,但为什么你要readln(z);他是没有用的
追答
有个输入总感觉自然点
展开全部
告诉你吧 无解
var x,y:integer;
begin
for x:=1 to 83 do
for y:=1 to 83 do
if 2*x*y+x+y=83 then writeln(x+y);
end.
var x,y:integer;
begin
for x:=1 to 83 do
for y:=1 to 83 do
if 2*x*y+x+y=83 then writeln(x+y);
end.
更多追问追答
追问
我按你那个程序输进去,他说有错误。
追答
我的怎么没有错误呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义函数:
program
max;
var
a,b,c,m:real;
function
max(a,b,c:real):real;
begin
max:=a;
if
b>a
then
max:=b;
if
c>b
then
max:=c;
将三个数用“打擂台”方法比较,选出最大数赋值;
end;
begin
readln(a);
readln(b);
readln(c);
读入数字;
m:=max(a,b,c)/(max(a+b,b,c)*max(a,b,b+c));
公式计算m值;
writeln(m);
输出m;
readln;
等待用户键入回车结束程序;
end.
定义过程:
program
max;
var
a,b,c,d,i,m:real;
e:array[1..3]
of
real;
procedure
max(a,b,c:real);
begin
e[i]:=a;
if
b>a
then
e[i]:=b;
if
c>b
then
e[i]:=c;
end;
begin
readln(a);
readln(b);
readln(c);
i:=1;
max(a,b,c);
i:=2;
max(a+b,b,c);
i:=3;
max(a,b,b+c);
m:=e[1]/(e[2]*e[3]);
writeln(m);
readln;
end.
用过程书写没有用函数简单。
program
max;
var
a,b,c,m:real;
function
max(a,b,c:real):real;
begin
max:=a;
if
b>a
then
max:=b;
if
c>b
then
max:=c;
将三个数用“打擂台”方法比较,选出最大数赋值;
end;
begin
readln(a);
readln(b);
readln(c);
读入数字;
m:=max(a,b,c)/(max(a+b,b,c)*max(a,b,b+c));
公式计算m值;
writeln(m);
输出m;
readln;
等待用户键入回车结束程序;
end.
定义过程:
program
max;
var
a,b,c,d,i,m:real;
e:array[1..3]
of
real;
procedure
max(a,b,c:real);
begin
e[i]:=a;
if
b>a
then
e[i]:=b;
if
c>b
then
e[i]:=c;
end;
begin
readln(a);
readln(b);
readln(c);
i:=1;
max(a,b,c);
i:=2;
max(a+b,b,c);
i:=3;
max(a,b,b+c);
m:=e[1]/(e[2]*e[3]);
writeln(m);
readln;
end.
用过程书写没有用函数简单。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询