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

Рекурсивная функция - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнительный анализ методов сортировки одномерных массивов http://www.cyberforum.ru/cpp-beginners/thread296236.html
Товарищи программисты, помогите пожалуйста!!! У меня такое задание, кто сможет решить, напишите пожалуйста, бо сама я как бы не очень понимаю, что там делать нужно(( Разработка программы для...
C++ валидация числа как сделать валидацию такого числа 10000000.89 ? что бы было всегда 8 чисел до запятой и 2 после http://www.cyberforum.ru/cpp-beginners/thread296235.html
случайные числа C++
подскажите как сформировать двумерный массив случайных чисел в заданном диапозоне которые не повторяются
Решение натуральных чисел как решить? C++
Дано натуральное число. Вычеркнуть из записи данного натурального числа каждую вторую цифру. Например: из 12564 надо получить 154. Число вводится из файла. Ответ вывести в окно консоли.
C++ Произведение чисел кратных трём http://www.cyberforum.ru/cpp-beginners/thread296207.html
Элементарная задача но я что-то застрял на ней #include<iostream.h> #include<math.h> void main() { int n, a, i, p; p=1; cout<<" Vvedite kolichestvo elementov ";
C++ В чем может быть ошибка? Вот программа: #include "stdafx.h" #include <iostream> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <conio.h> using namespace std; подробнее

Показать сообщение отдельно
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
15.05.2011, 21:09
Что если при вызове функции K > N?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <math.h>
 
// this matrix might be hidden in function
// but it would look ugly
// also, this matrix might be optimized,
// but I don't give a damn
static int cache[20][20] = {
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
  };
 
size_t Combine(size_t N, size_t K) {
  if ((K == 0) || (N == K)) return 1;
  if (cache[N][K] != 0) return cache[N][K];
  return cache[N][K] = Combine(N - 1, K) + Combine(N - 1, K - 1);
  return 0;
}
 
int main(int argc, char **argv) {
  int i, j;
  for (i = 0; i < 20; ++i)
    for (j = 0; j <= i; ++j)
      printf("%d for %d = %d\n", i, j, Combine(i, j));
 
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru