uses crt; var m,n: longint; beginread(m,n); if (m mod n=0) or (n mod m=0) then writeln(1)else writeln(2); end.
sveta1308
04.04.2022
Пусть в "долях" 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.
ikalabuhova
04.04.2022
Сама процедура занимает 5 строчек. // pascalabc.net 3.3, сборка 1607 от 31.12.2017 // внимание! если программа не работает, обновите версию! procedure mv(a: array[,] of integer; b,c: array of integer); begin for var i: =0 to b.length-1 do c[i]: =a.row(i).zip(b,(p,q)-> p*q).sum; end; begin var a: array[,] of integer: =((2,4,,1,,0,1)); var b: array of integer: =(1,2,-1); writeln('матрица a'); a.println(3); write('вектор b: '); b.println; var c: =new integer[3]; mv(a,b,c); write('вектор с: '); c.println end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Составить программу ввести с клавиатуры 2 целых числа m и n > 0 если m делится на n или наоборот, то вывести единицу, иначе любое другое число
uses crt; var m,n: longint; beginread(m,n); if (m mod n=0) or (n mod m=0) then writeln(1)else writeln(2); end.