Пусть в "долях" a <= b <= c вершин, и проведены все рёбра между разными "долями". Так как из каждой вершины, лежащей в первой "доле", можно провести только b + c рёбер, из второй доли — a + c рёбер, из третьей — a + b рёбер, то общее количество рёбер равно (a * (b + c) + b * (a + c) + c * (a + b))/2 = ab + ac + bc (деление на 2 возникает из-за того, что каждое ребро подсчитывается дважды).Нужны такие a, b, c, при которых значение выражения ab + bc + ac будет максимально. Максимальное значение можно найти перебором. python 3:max_value = 0 for a in range(41//3 + 1): for b in range(a, (41 - a)//2 + 1): c = 41 - a - b value = a * b + a * c + b * c max_value = max(max_value, value) print(max_value) ответ. 560.
vodolaz8384
11.01.2020
Трехзначные четные числа могут быть получены перечислением трехзначных чисел от 100 до 998 через одно, т.е. 100, 102, 104, ... - это проще и быстрее, чем брать каждое и проверять его на четность.
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=Range(100,998,2).Where(t->t mod (t div 100 + t mod 10)=0); var i:=0; foreach var n in s do begin Print(n); i+=1; if i=4 then begin i:=0; Writeln end end; if i<>0 then Writeln; end.
5-пример.doc
Объяснение:
Сори лесли неправильно