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

Число сочетаний - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как объявить массив указателей? http://www.cyberforum.ru/cpp-beginners/thread514896.html
Напишите объявление переменной - одномерного массива StringArray указателей на символы длины N.
C++ Просмотр каталога Столкнулся с такой проблемой: необходимо проверить все папки данного каталога A/ на наличие в них файла "1.txt" То есть, нужно отыскать все фалы, путь к которым: A/*/1.txt Имя коренного каталога (папки) известно (А). Имена вложенных папок неизвестны. Количество вложенных папок неизвестно. Не знаю как и подступиться... Может кто подскажет? http://www.cyberforum.ru/cpp-beginners/thread514891.html
Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. C++
Помогите пожалуйста, вообще не могу понять как делать следующее...Еще и в программе CODE BLOCKS препод почему именно эту программу любит.... "Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. "
Не могу довести до ума, не хватает функции C++
/* c помощью текстового редактора блокнот создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать 70 символов) Файл должен иметь расширение DAT. Написать программу, которая: -выводит текст на экран дисплея; -определяет кол-во букв "а" в последнем слове текста */ #include <windows.h> #include <stdio.h>
C++ непонятное строка? http://www.cyberforum.ru/cpp-beginners/thread514866.html
#include <iostream> using namespace std; const int jack = 11; //from 2 to 10 are const int queen = 12; //integers without names const int king = 13; const int ace = 14; enum Suit { clubs, diamonds, hearts, spades }; //////////////////////////////////////////////////////////////// class card
C++ Не работает функция добавления данных в класс C++ Добрый день всем. Задание: создать клас для хранения БД (тел. справочник). Создать производный класс, добавив туда поля (адрес, телефон). Для второго класса использовать конструктор, чтобы он состоял из аргументов, необходимих для инициализации обьекта производного класса. Ну и необходимо создать функции для ввода/вивода/удаления информации. Проблема в том, что при добавлении информации... подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.03.2012, 21:04     Число сочетаний
Цитата Сообщение от valeriikozlov Посмотреть сообщение
кто говорит?
Наверное, они
Там нету ограничений на n и k, и, скорее всего, придется писать длинку, т.к. такой код тоже не проходит все тесты
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
#include <stdio.h>
 
typedef unsigned long long ull;
 
ull was_here[100][100];
 
ull rec(ull n, ull k)
{
        if ( was_here[n][k] )
            return was_here[n][k];
        
        if(n==k)
            was_here[n][k] = 1;
        else if(k==1)
                was_here[n][k] = n;
        else
            was_here[n][k] = rec(n-1, k-1)+rec(n-1, k);
            
        return was_here[n][k];
}
 
int main()
{
        ull n, k;
        scanf("%llu%llu", &n, &k);
        printf("%llu", rec(n,k));
 
 
return 0;
}
Добавлено через 9 минут
Да, там длинка нужна, прошло все тесты на
Java.
Java
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
46
47
48
49
50
51
import java.io.*;;
import java.util.*;
import java.math.BigInteger;
 
class Main
{
    public static void main(String[] args) throws IOException
    {
        new Main().run();
    }    
    
    Scanner in;
    PrintWriter out;
    
    public void run()
    {
        in = new Scanner(System.in);
        out = new PrintWriter(System.out);
        
        solve();
        
        out.flush();
    }
    
    private void solve()
    {
        int n = in.nextInt();
        int k = in.nextInt();
        
        BigInteger matrix[][] = new BigInteger[n + 1][k + 1];
        
        for (int i = 0; i <= n; ++i)
            for (int j = 1; j <= k; ++j)
                matrix[i][j] = BigInteger.ZERO;
                
        for (int i = 0; i <= n; ++i)
            matrix[i][0] = BigInteger.ONE;
            
        matrix[0][0] = BigInteger.ONE;
        
        for (int i = 1; i <= n; ++i)
        {
            for (int j = 1; j <= k; ++j)
            {
                matrix[i][j] = matrix[i - 1][j - 1].add( matrix[i - 1][j] );
            }
        }
        
        out.println(matrix[n][k]);
    }
}
 
Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru