PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
begin var s:=ReadlnString; var a:=s.ToWords('.').Select(t->Trim(t)).ToArray; var b:=s.ToWords(Arr('.',' ')) .GroupBy(t->t).Select(t->(t.Key,t.Count)) .Where(t->t[1]>1).Select(t->t[0]).ToArray; a.Cartesian(b,(p,q)->p.Contains(q)?p:'') .Where(t->t.Length>0).Distinct.PrintLines end.
Квадратное алгебраическое уравнение имеет вид:ах^2 + bx + c = 0. (1)Здесь а, b и с – коэффициенты. Сначала надо вычислить дискриминант квадратного уравненияD = (b^2 – 4ac) (2)Если D > 0, то квадратное уравнение имеет два корня х1 и х2. Обозначим С = корень(D). То есть надо вычислить квадратный корень из D. Имеем такие решениях1 = (–b + C)/(2a) и x2 = (–b – C)/(2a). (3)Если дискриминант D = 0, то C = 0 и оба корня одинаковы Х1 = Х2 (хотя в школе обычно говорят, что имеется только одно решение) и вычисляются по формулеХ1 = Х2 = –b/(2a). (4). Эта формула следует из формулы (3) при С = D = 0.Если дискриминант D меньше нуля, то корень из D вычислить нельзя, С будет мнимым числом. Вообще говоря, корни есть (2 штуки), но они будут мнимыми числами. Хотя в школе учат, что в этом случае корней НЕТ. Так и будем считать, что корней нет.Алгоритм решения будет следующийНо только здесь дискриминант D обозначен малой буквой d
Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString;
var a:=s.ToWords('.').Select(t->Trim(t)).ToArray;
var b:=s.ToWords(Arr('.',' '))
.GroupBy(t->t).Select(t->(t.Key,t.Count))
.Where(t->t[1]>1).Select(t->t[0]).ToArray;
a.Cartesian(b,(p,q)->p.Contains(q)?p:'')
.Where(t->t.Length>0).Distinct.PrintLines
end.
Примеры
Мама мыла полы. Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла полы
Таня мыла полы
Мама мыла раму. Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла раму
Таня мыла полы