Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2011, 13:19   #1
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию Фишка двигается по полю длины N вперед.Длина хода фишки не более K. Найти число вариантов прохода (C++)

Помогите, пожалуйста, написать программу. Фишка может двигаться по полю длины N только вперед. Длина хода фишки не более K. Найти число различных путей, по которым фишка может пройти поле от начала до конца.
Пример. N=3, K=2
Возможные пути:
1,1,1
1,2
2,1
Нужно чтобы разложение числа N на всевозможные суммы не превосходило k, я не понимаю как это реализовать в программе.
Роза!!! вне форума Ответить с цитированием
Старый 07.05.2011, 13:35   #2
lodos
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 39
По умолчанию

на паскале реализовать можешь.
lodos вне форума Ответить с цитированием
Старый 07.05.2011, 13:37   #3
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию

Вот именно, что мне c++ надо.
Роза!!! вне форума Ответить с цитированием
Старый 07.05.2011, 13:38   #4
lodos
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 39
По умолчанию

Ты выложи свой код на паскале. А там уже можно посмотреть, чем тебе можно помоч. Так просто никто ничего делать не будет. Нужно хоть что то
lodos вне форума Ответить с цитированием
Старый 07.05.2011, 16:28   #5
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию

Код:
var n,k:integer;

function s(i:integer):integer;
var r,j,t:integer;
begin
 r:=0;
 if i<0 then s:=0;
 if (i=0) or (i=1) then s:=1;
 if i>1 then for j:=i-1 downto i-k do begin
    r:=r+s(j);
    s:=r;
 end;
end;

begin
 write('n=');
 readln(n);
 write('k=');
 readln(k);
 writeln('возможно путей ',s(n));
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.05.2011 в 16:46.
Роза!!! вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти байтс наибольшим числом единиц и найти байт с наибольшим чилом нулей. Найти разность число единиц м Beren42 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 14.12.2010 17:44
Даны два слова одинаковой длины. Присвоить переменной К число, равное количеству попарно одинаковых букв. dimon_home Паскаль, Turbo Pascal, PascalABC.NET 1 16.06.2009 08:31
Найти и вывести все слова,у котоpых число гласных букв пpевышает число согласных. Briz Помощь студентам 2 11.05.2008 00:56
Как осуществить поиск сначала по всей БД, а затем из найденных таблиц найти по полю Date нужные записи? kayman БД в Delphi 1 21.09.2007 15:56