View Full Version : Един бърз Pascal с вложени цикли?
Gabichkaaa
03-08-2011, 13:50
Здравейте.. Трябва ми помощ с решението на задачата:
Да се напише програма, която решава диофантовото уравнение a1.x1 + a2.x2 + a3.x3 + a4.x4 = a, където a,a1,a2,a3,a4 принадлежат на Z.
x1,x2 принадлежат {4,5,6,7}
x3,x4 принадлежат {0,1,2,3} .. тези Х-сове са решенията! :)
Предполагам, че коефициентите са входните данни, а неизвестните са изходните. Ако е така:
program asdf;
var
a,a1,a2,a3,a4,x1,x2,x3,x4: integer;
reshenie: boolean;
begin
reshenie = false;
write('a='); readln(a);
write('a1='); readln(a1);
write('a2='); readln(a2);
write('a3='); readln(a3);
write('a4='); readln(a4);
for x1 := 4 to 7
begin
for x2 := 4 to 7
begin
for x3 := 0 to 3
begin
for x4:= 0 to 3
begin
if (a1*x1+a2*x2+a3*x3+a4*x4=a) then
begin
reshenie = true;
writeln('x1=',x1);
writeln('x2=',x2);
writeln('x3=',x3);
writeln('x4=',x4);
end;
end;
end;
end;
end;
if reshenie = false then
writeln('Uravnenieto nqma koreni v zadadenata def. oblast');
end.
Gabichkaaa
03-10-2011, 12:21
А как трябва да напишем програмата, за да ни се отпечатва числовия триъгълник?
1
1 2
1 2 3
1 2 3 4
1 2 3 4 .. . . . n-1 n
program asdf;
var i, j, n: integer;
begin
write("n="); readln(n);
for i := 1 to n do
begin
for j:= 1 to i do
write(j," ");
writeln;
end;
readln;
end.