Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.10.2020
Сообщений: 1

найдите ошибку в решении

14.10.2020, 20:08. Показов 772. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дележ добычи
В команде капитана Джека Воробья ровно К пиратов. Перед Джеком стоит непростая задача - нужно разделить N золотых монет между этими пиратами. Джек решил поступить просто - разложить монеты по К кучкам, и тогда каждому пирату достанется предназначенная для него кучка. Естественно, каждому пирату должно хоть что-то достаться, поэтому в каждой кучке должна быть хотя бы одна монета.

Сколькими способами капитан Джек Воробей может разделить монеты?

Формат входных данных
В единственной строке входных данных заданы два натуральных числа, разделенные пробелом - количество монет N (1 ≤ N ≤ 1000) и количество пиратов К (1 ≤ K ≤ N).

Формат результата
Выведите единственное число - количество способов, которыми Джек Воробей можно разложить N монет на K кучек так, чтобы в каждой кучке была хотя бы одна монета.

Примеры
Входные данные
3 2
Результат работы
2
Входные данные
5 3
Результат работы
6
Pascal
1
2
3
4
5
6
7
var a,b: int64;
begin
read(a,b);
if (a=b) or (b=1) then writeln(1) else
if (b=2) or (b=a-1) then writeln(a-1) else
writeln(b*(a-b));
end.
код заходит только на 6 решений, дальше не идёт, где может быть ошибка и как её исправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2020, 20:08
Ответы с готовыми решениями:

Не могу найти ошибку в решении задачи
Сама задача: Найти значения функции X=Y^2 *(Y^2 -Y)/Y при Y={N,N*1,N*2,…,N*M} (N<M). Я её решил,но работает она не правильно,ответьте...

Найти ошибку в решении уравнения
Помогите плиз. //решить уравнение sin(ln(x))-cos(ln(x))+2*ln(x)=0 на отрезке , с шагом h и точностью e //a=-4 b=5 h=0.2 e=0.001 ...

Найти ошибку в решении квадратного уравнения
program Project2; {$APPTYPE CONSOLE} uses SysUtils; var a,b,c,d:integer; x1,x2:real; begin write('a='); readln(a);

4
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
15.10.2020, 11:24
Цитата Сообщение от Pastyxloley Посмотреть сообщение
где может быть ошибка
я не очень понимаю ход твоего решения (я бы копал в сторону ДП),
но проверь, например, для случая N=7 и K=3
ответ должен быть 15
пруф
Кликните здесь для просмотра всего текста
1 1 5
1 2 4
1 3 3
1 4 2
1 5 1
2 1 4
2 2 3
2 3 2
2 4 1
3 1 3
3 2 2
3 3 1
4 1 2
4 2 1
5 1 1
0
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
15.10.2020, 16:46
На больших n уйдет в раздумья, поэтому как решение - по времени не пройдет. Как вариант для размышлений.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var (n,k) := (7,3);
var d := 1;
procedure Recursion(pos, sum: integer; a: array of integer);
begin
  for var c := 1 to n-k+1 do
  begin
   if sum + c > n then 
     break 
   else
     if (sum + c = n) and (pos = k-1) then begin a[pos] := c; Print(d,':'); d+=1; a.Println end 
     else if (sum+c < n) and (pos < k-1) then begin a[pos] := c; Recursion(pos + 1, sum + c, a) end;
  end;
end;
 
begin
  var a := new integer[k];
  Recursion(0, 0, a);
end.
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.10.2020, 18:26
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
begin
  var (n, k) := ReadInteger2;
  var c := new BigInteger[n, n];
  for var i := 0 to n - 1 do
  begin
    c[i, 0] := 1;
    c[i, i] := 1;
    for var j := 1 to i - 1 do
      c[i, j] := c[i - 1, j - 1] + c[i - 1, j]
  end;
  c[n - 1, k - 1].Print
end.
2
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
15.10.2020, 22:28
eaa, благодарю. Значит Треугольник Паскаля в деле, тогда можно еще проще
Pascal
1
2
3
4
5
##
var (n,k) := ReadlnInteger2;
var c := biginteger(1); 
for var j := 1 to k-1 do c := c * (n - j) / j;
c.Print

Добавлено через 22 минуты
для ускорения можно еще 4 строку заменить на
Pascal
1
for var j := 1 to min(k, n-k) - 1 do c := c * (n-j)/j;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2020, 22:28
Помогаю со студенческими работами здесь

Найти ошибку в решении ур-я методом половинного деления
В общем стоит задача решить уравнение методом половинного деления, но почему-то переменная икс не меняется, при изменении r. Помогите найти...

Вычислить сумму ряда (могу найти ошибку в своём решении)
Даны действительные числа x, ε (x не равно 0, ε&gt;0). Вычислить с точностью ε(ε=10-3,10-4,10-5,10-6) сумму ряда и указать количество учтеных...

Найдите ошибку в решении
Нужно найти определитель матрицы двумя методами. а)Методом понижения порядка. б)Методом приведения к треугольному виду. Тёмные,...

Найдите ошибку при решении уравнения
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; float solution(float a,float b,float eps,float(*fun)(float)); float coss(float...

Найдите пожалуйста ошибку в решении задачи
Ответ в задачи решённой с помощью Mathcad методом наименьших квадратов не совпадает с ответом в excel. Будьте добры, найдите пожалуйста...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru