Форум программистов, компьютерный форум CyberForum.ru

Олимпиадная задача - движение фишки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввести с консоли число в 16-ричной системе счисления, преобразовать его в битовое поле за счёт использования объединения http://www.cyberforum.ru/cpp-beginners/thread698165.html
Задание:Разработать битовое поле, описывающее состояния элементов прибора. Ввести с консоли число в 16-ричной системе счисления, преобразовать его в битовое поле за счёт использования объединения. Вывести на консоль состояния элементов прибора, соответствующие состоянию битов во введённом числе. Варианты приборов и их элементов: ADSL модем. Элементы: DSL вкл/выкл, PPP вкл/выкл, Link вкл/выкл ...
C++ Как зациклить и выйти в любой момент #include "stdafx.h" #include "iostream" #include "math.h" #include "conio.h" #include "time.h" using namespace std; int _tmain(int argc, _TCHAR* argv) http://www.cyberforum.ru/cpp-beginners/thread698159.html
Вывод сочетания шаров C++
Имеется задача: есть четыре шара пронумерованных 0, 1, 2, 3; вывести все сочетания шаров из 4 по 3 с возвратом и с учётом порядка. Если использовать такое решение (псевдокод): for (int i= 0; i++; i< 4 ) for (int j= 0; j++; j< 4 ) for (int k= 0; k++; k< 4 ) { printf ("%d %d %d\n", i, j, k); printf ("______________________\n"); } То вывод будет:
Проверка при помощи вложенных блоков try C++
Посчитать уравнение ( у=log4(x2-4)+1/x)при вводе х с клавиатуры, но должны выполнятся условия: 1. выражение считается в отдельной функции; 2. корректность ввода должна проверятся при помощи механизма перехвата исключений; 3. при выполнении обеспечить двухуровневую проверку двумя способами: -при помощи вложенных блоков try ; -путем перехвата исключений в основной программе и в функции что...
C++ Запись строки в конец файла http://www.cyberforum.ru/cpp-beginners/thread698128.html
всем привет. подскажите пожалуйста, почему не работает этот код #include <iostream> #include <fstream> using namespace std; int main() { ifstream myfile;
C++ Определить, является ли первое число кратным второму 2. Прога , которая считывает два целых числа , определяет и печатает , является ли первое число кратным второму. Помогите чайнику, пожалуйста!) Только начинаю всё это учить ) подробнее

Показать сообщение отдельно
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153

Олимпиадная задача - движение фишки - C++

15.11.2012, 02:17. Просмотров 1689. Ответов 18
Метки (Все метки)

Есть вот такая задача:
Код
/*Фишка может двигаться по полю длины N только вперед. Длина хода фишки не более K. Найти число различных путей, по которым фишка может пройти поле от начала до конца.

Пример. N=3, K=2

Возможные пути:

1,1,1

1,2

2,1

Ответ: 3.*/
Я решил её своим способом.
А вот решение которое даётся:
Код
/*Обозначим через S(i) количество различных путей, по которым фишка может пройти поле от начала до позиции с номером i. Предположим теперь, что для любого j от 1 до i известны значения величин S(j). Задача состоит в определении правила вычисления значения S(i+1), используя значения известных величин. Легко заметить, что в позицию с номером i+1 фишка может попасть из позиций i, i-1,...,i-k. Следовательно,

S(i+1)=S(i)+S(i-1)+...+S(i-k).

Таким образом, вычисляя последовательно значения величин S(1), S(2),..., S(N) по описанному выше правилу, получаем значение S(N), которое и указывает общее количество различных путей, по которым фишка может пройти поле от начала до позиции с номером N.*/
Соответственно я данное решение записываю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void run {
n=readInt();
k=readInt();
println(S(n,k));
}
int Sum(int n, int k){
        n--;
        int sum=0;
        if(n==1) return 1;
        if(n<=0) return 0;
        for(int i=0; i<=k; i++){
        sum+=Sum(n-i,k);
        }
        return sum;
}
И в результате оно работает не правильно, я мучаюсь уже два часа!!! Пожалуйста помогите, плюсы кидаю всем, если хоть кого-то это мотивирует(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru