Форум программистов, компьютерный форум 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. Прога , которая считывает два целых числа , определяет и печатает , является ли первое число кратным второму. Помогите чайнику, пожалуйста!) Только начинаю всё это учить ) подробнее

Показать сообщение отдельно
polyaKIDze
63 / 63 / 12
Регистрация: 16.07.2012
Сообщений: 147
15.11.2012, 05:14     Олимпиадная задача - движение фишки
Ну вообще к может быть больше n, т.к. это не противоречит условию задачи. Просто не используйте шаги больше длины поля и все. А про 0 верно. Только вот до сих пор не могу доказать корректность решения. Пора спать, видно.

Добавлено через 20 минут
C
1
2
3
4
5
6
7
8
9
10
int *S;
S = (int *) malloc (n * syzeof(int));
int i;
for (i = 1; i <= k; ++i) 
  S[i] = pow (2, i - 1);
for (; i <= n; ++i) {
  S[i] = 0;
  for (int j = 1; j <= k; ++j)
    if ((i - j) > 0) S[i] += S[i - j];
}
Я бы так писал. Не люблю рекурсию.
Вот вся программа:
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
 
int main () {
int n = 5;
int k = 3;
 
int S[100];
 
int i;
for (i = 1; i <= k; ++i) 
  S[i] = pow (2.0, i - 1);
for (; i <= n; ++i) {
  S[i] = 0;
  for (int j = 1; j <= k; ++j)
    if ((i - j) > 0) S[i] += S[i - j];
}
printf ("%d\n", S[n]);
}
n, k было лень с клавиатуры считывать
 
Текущее время: 01:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru