Есть ответ 👍

Гриша любит сериалы. Особенно ему нравятся те сериалы, в которых в любой момент можно узнать, на какой по счету серии он сейчас находится и сколько
в целом серий имеется в этом сериале. Обычно где-нибудь в углу экрана находится надпись, например
«10/100», которая означает, что сейчас Гриша находится на 10 серии, а всего в сериале 100 серий.
На днях Гриша начал смотреть новый сериал, но оказалось, что разработчик для вывода на экран надписи с номерами серий использовал шрифт, которого нет на Гришином компьютере. Шрифт автоматически заменился на какой-то другой, в котором не поддерживается символ
«/».
Теперь два числа, которые должны были быть разделены, слились в одно, и Гришу это невероятно
расстраивает. Он подумал о том, что можно попробовать самому угадывать место, в котором должен
стоять символ «/», но потом понял, что в некоторых случаях подходящих вариантов может быть
несколько. Например, если на экране написано «1234», это может означать как то, что он находится
на 1 уровне из 234, так и то, что он находится на 12 уровне из 34.
Ему стало интересно, а сколько всего существует подставить символ «/» в надпись
на экране так, чтобы надпись была корректной, то есть чтобы слева и справа от символа были
корректные числа без лидирующих нулей и при этом левое число не превосходило правое Грише ответить на этот вопрос.​

225
464
Посмотреть ответы 1

Ответы на вопрос:

Sofja007
4,6(62 оценок)

Используется формула гаусса (формула "шнурования"). // pascalabc.net 3.3, сборка 1583 от 25.11.2017 // внимание! если программа не работает, обновите версию! - с функцией: function spolygongauss(a: array of real): real; // возвращает вычисленную по формуле гаусса площадь многоугольника, // координаты вершин которого заданы массивами х и у begin   var (n,i): =(a.length-4,0);   result: =0.0;   while i< =n do begin       result+=a[i]*a[i+3]-a[i+1]*a[i+2];       i+=2       end;   result: =abs(0.5*result) end; begin   var x: =readarrreal('введите координаты вершин 5-угольника: ',10);   setlength(x,12);   x[10]: =x[0];   x[11]: =x[1];   writeln('площадь равна ',spolygongauss(x)) end. пример введите координаты вершин 5-угольника: 0.6 2.1 1.8 3.6 2.2 2.3 3.6 2.4 3.1 0.5 площадь равна 3.915 - с процедурой: procedure spolygongauss(a: array of real; var s: real); // вычисляет по формуле гаусса площадь многоугольника, // координаты вершин которого заданы массивами х и у begin   var (n,i): =(a.length-4,0);   s: =0.0;   while i< =n do begin       s+=a[i]*a[i+3]-a[i+1]*a[i+2];       i+=2       end;   s: =abs(0.5*s) end; begin   var x: =readarrreal('введите координаты вершин 5-угольника: ',10);   setlength(x,12);   x[10]: =x[0];   x[11]: =x[1];   var s: real;   spolygongauss(x,s);   writeln('площадь равна ',s) end.

Популярно: Информатика