М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Количество разбиений на слагаемые на С++ Дано натуральное число N. Найдите количество его разбиений на натуральные слагаемые. Два разбиения, отличающиеся только порядком слагаемых, будем считать за одно.

Например, для N=5 существует 7 различных разбиений:

5=5
5=4+1
5=3+2
5=3+1+1
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1

👇
Ответ:
2зик20
2зик20
16.05.2022

#include <stdio.h>

int d[100][100];

int dec(int n, int k) {

if ( n >= 0 && k >= 0 && d[n][k] > 0 ) return d[n][k];

if ( n < 0 ) return 0;

if ( n <= 1 || k == 1 ) return 1;

d[n][k] =  dec(n, k-1) + dec(n-k, k);  

return d[n][k];

}

int main() {

int m, i, j;

scanf("%d", &m);

for (i = 0; i < m; i++) {

  for (j = 0; j < m; j++) {

    d[i][j] = -1;

  }

}

printf("%d\n", dec(m, m));

return 0;

}

4,4(68 оценок)
Открыть все ответы
Ответ:
alekseyblohinov
alekseyblohinov
16.05.2022
Треугольник существует, если сумма длин двух любых его сторон больше длины третьей стороны.
Длина стороны может быть определена как расстояние между соответствующими сторонами треугольника:
\displaystyle L_{AB}=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2

// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
type
  Point=record
  x,y:real
  end;

procedure GetPoint(c:char;var M:Point);
begin
  Write('Введите координаты точки ',c,': ');
  Read(M.x,M.y)
end;

function Dist(a,b:Point):=sqrt(sqr(b.x-a.x)+sqr(b.y-a.y));

begin
  var A,B,C:Point;
  GetPoint('A',A); GetPoint('B',B); GetPoint('C',C);
  var ab:=Dist(A,B);
  var bc:=Dist(B,C);
  var ac:=Dist(A,C);
  if (ab<bc+ac) and (bc<ab+ac) and (ac<ab+bc) then
    Writeln('Треугольник существует')
  else Writeln('Треугольник не существует')
end.

Тестовое решение:
Введите координаты точки A: -6.9 -5.3
Введите координаты точки B: 0 11.4
Введите координаты точки C: 9 3
Треугольник существует
4,7(40 оценок)
Ответ:
MogekoKcalb
MogekoKcalb
16.05.2022
1) Это явно шифр замены. Мы знаем, что:
А = Я, Н = С, Т = М, О = Р, М = Т, И = Ц, Х = Й, Л = У, Ь = Г,
Е = Ъ, В = Э, Г = Ь, Й = Х.
Этого достаточно, чтобы подставить буквы и получить
НМЪПЯС = СТЕ*АН, очевидно, что это СТЕПАН.
А если немного подумать, то можно догадаться, какой это шифр.
Взяли алфавит и написали два раза - прямо и наоборот.
Каждая буква из 1 алфавита заменяется на букву 2 алфавита.
А = Я, Б = Ю, В = Э, Г = Ь, и так далее.

2) Про Виталия. Из 96 друзей 76 знают Павла и 56 знают Андрея.
Значит, минимум 76+56-96 = 36 чел знают и Павла и Андрея.
Про Павла. Из 162 друзей 96 знают Андрея и 76 знают Виталия.
Минимум 96+76-162 = 10 знают и Андрея и Виталия.
Про Андрея. Из 108 друзей 56 знают Виталия и 96 знают Павла.
Минимум 56+96-108 = 44 знают и Виталия и Павла.
Выбираем наибольшее из минимальных чисел.
ответ: минимум 44 чел знакомы со всеми тремя парнями.
4,7(19 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ