Напишите код для : напишите функцию, которая сортирует значения переданного ей динамического массива, используя алгоритм «быстрой сортировки» (см. учебник 10 класса).
begin Write('Введите верхнюю границу для счета: '); Readln(k); for i := 1 to k do begin n := i; repeat d := n mod 10; if d > 0 then flag := ((i mod d) <> 0) else flag := true; if (not flag) then n := (n div 10) until (flag or (n = 0)); if n = 0 then Write(i, ' ') end; Writeln end.
Program Uravnenie; uses Crt; var a,b,c,x,x1,x2 : real ; begin clrscr; writeln ( 'Введите a : ' ); readln ( a ); writeln ( 'Введите b : ' ); readln ( b ); writeln ( 'Введите c : '); readln ( c ); if ( sqr ( b ) - 4 * a * c ) < 0 then writeln ( ' Уравнение не имеет решения ' ) else begin if ( sqr ( b ) - 4 * a * c ) = 0 then begin x:= - b / ( 2 * a ); writeln( ' x = ', x : 8 : 2 ) end else begin x1:= ( - b + sqrt ( sqr ( b ) - 4 * a * c ) ) / ( 2 * a ); x2:= ( - b - sqrt ( sqr ( b ) - 4 * a * c ) ) / ( 2 * a ); writeln( ' x1 = ', x1 : 8 : 2, ' x2 = ', x2 : 8 : 2 ) end end.
d: integer;
i, k, n: longint;
flag: boolean;
begin
Write('Введите верхнюю границу для счета: '); Readln(k);
for i := 1 to k do
begin
n := i;
repeat
d := n mod 10;
if d > 0 then flag := ((i mod d) <> 0) else flag := true;
if (not flag) then n := (n div 10)
until (flag or (n = 0));
if n = 0 then Write(i, ' ')
end;
Writeln
end.
Тестовое решение:
Введите верхнюю границу для счета: 1237
1 2 3 4 5 6 7 8 9 11 12 15 22 24 33 36 44 48 55 66 77 88 99 111 112 115 122 124 126 128 132 135 144 155 162 168 175 184 212 216 222 224 244 248 264 288 312 315 324 333 336 366 384 396 412 424 432 444 448 488 515 555 612 624 636 648 666 672 728 735 777 784 816 824 848 864 888 936 999 1111 1112 1113 1115 1116 1122 1124 1128 1131 1144 1155 1164 1176 1184 1197 1212 1222 1224 1236
uses Crt;
var a,b,c,x,x1,x2 : real ;
begin
clrscr;
writeln ( 'Введите a : ' );
readln ( a );
writeln ( 'Введите b : ' );
readln ( b );
writeln ( 'Введите c : ');
readln ( c );
if ( sqr ( b ) - 4 * a * c ) < 0
then writeln ( ' Уравнение не имеет решения ' ) else begin
if ( sqr ( b ) - 4 * a * c ) = 0
then begin
x:= - b / ( 2 * a );
writeln( ' x = ', x : 8 : 2 )
end
else
begin
x1:= ( - b + sqrt ( sqr ( b ) - 4 * a * c ) ) / ( 2 * a );
x2:= ( - b - sqrt ( sqr ( b ) - 4 * a * c ) ) / ( 2 * a );
writeln( ' x1 = ', x1 : 8 : 2, ' x2 = ', x2 : 8 : 2 )
end
end.