Какая из этих функций реализовано в современных текстовых процессах:проверка правописания автоматический перевод текста на другие языки или проверка на уникальность
begin writeln('Введите ', n, ' положительных элементов массива Х'); amax := -1E20; k := 0; for i := 1 to n do begin read(x[i]); {защита от дурака} if x[i] < 0 then x[i] := abs(x[i]) else if x[i] = 0 then x[i] := 1; {сразу же находим значения элементов массива у и заодно нужный максимум} y[i] := 0.5 * ln(x[i]); if (y[i]>=3) and ((Trunc(y[i]) mod 3) = 0) and (amax<y[i]) then begin amax := y[i]; k := i end end; writeln(' i Xi Yi'); writeln(''); for i := 1 to n do writeln(i:3,x[i]:12:4, y[i]:12:4); writeln; writeln('Искомый индекс:', k) end.
Тестовое решение:
Введите 20 положительных элементов массива Х 365 7236 1243.4 1823 4.8 273 97.54 17000 42334 13443 323674 6787.23 100000 543433 17422.74732 19534.3 212 5454 7354.8 3153.67 i Xi Yi
Основная идея состоит в том, что каждая сумма – это сумма цифр, то есть она не может быть больше 18. Значит, надо разбивать каждое возможно получившееся число на однозначные и двузначные числа и смотреть, может ли такое быть.
1212 – возможно, например, из числа 666 (6+6 = 12, 6+6 = 12, итог: 1212)
129 – возможно, например, из числа 936 (9+3 = 12, 3+6 = 9, итог: 129)
123 – возможно, например, из числа 930
1218 – невозможно. Это число можно разбить только на два двузначных числа, но тогда 12 и 18 записаны в порядке возрастания, а по условию должно быть наоборот
1812 – возможно, например, из числа 993
312 – невозможно. Это число можно разбить либо на 3 и 12, либо на 31 и 2. В первом случае числа расположены в порядке возрастания, а во втором нельзя получить 31, так как сумма цифр не больше 18
n = 20;
type
V = array[1..n] of real;
var
x, y: V;
i, k: integer;
amax: real;
begin
writeln('Введите ', n, ' положительных элементов массива Х');
amax := -1E20;
k := 0;
for i := 1 to n do
begin
read(x[i]);
{защита от дурака}
if x[i] < 0 then x[i] := abs(x[i])
else if x[i] = 0 then x[i] := 1;
{сразу же находим значения элементов массива у и заодно нужный максимум}
y[i] := 0.5 * ln(x[i]);
if (y[i]>=3) and ((Trunc(y[i]) mod 3) = 0) and (amax<y[i]) then
begin
amax := y[i];
k := i
end
end;
writeln(' i Xi Yi');
writeln('');
for i := 1 to n do
writeln(i:3,x[i]:12:4, y[i]:12:4);
writeln;
writeln('Искомый индекс:', k)
end.
Тестовое решение:
Введите 20 положительных элементов массива Х
365 7236 1243.4 1823 4.8 273 97.54 17000 42334 13443 323674 6787.23 100000 543433 17422.74732 19534.3 212 5454 7354.8 3153.67
i Xi Yi
1 365.0000 2.9499
2 7236.0000 4.4434
3 1243.4000 3.5628
4 1823.0000 3.7541
5 4.8000 0.7843
6 273.0000 2.8047
7 97.5400 2.2901
8 17000.0000 4.8705
9 42334.0000 5.3267
10 13443.0000 4.7531
11 323674.0000 6.3437
12 6787.2300 4.4114
13 100000.0000 5.7565
14 543433.0000 6.6028
15 17422.7473 4.8828
16 19534.3000 4.9400
17 212.0000 2.6783
18 5454.0000 4.3021
19 7354.8000 4.4516
20 3153.6700 4.0282
Искомый индекс:14
Основная идея состоит в том, что каждая сумма – это сумма цифр, то есть она не может быть больше 18. Значит, надо разбивать каждое возможно получившееся число на однозначные и двузначные числа и смотреть, может ли такое быть.
1212 – возможно, например, из числа 666 (6+6 = 12, 6+6 = 12, итог: 1212)
129 – возможно, например, из числа 936 (9+3 = 12, 3+6 = 9, итог: 129)
123 – возможно, например, из числа 930
1218 – невозможно. Это число можно разбить только на два двузначных числа, но тогда 12 и 18 записаны в порядке возрастания, а по условию должно быть наоборот
1812 – возможно, например, из числа 993
312 – невозможно. Это число можно разбить либо на 3 и 12, либо на 31 и 2. В первом случае числа расположены в порядке возрастания, а во втором нельзя получить 31, так как сумма цифр не больше 18
912 – невозможно (аналогично с 312)
112 – возможно, например, из 920
Итого 5 чисел могут получиться.
ответ: 5