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

Реализовать точки на костях домино - C++

Восстановить пароль Регистрация
 
Live4Sky
6 / 1 / 1
Регистрация: 04.10.2013
Сообщений: 42
17.02.2014, 17:00     Реализовать точки на костях домино #1
Точки на костях Домино
(Время: 1 сек. Память: 16 Мб Сложность: 25%)
Для того, чтобы заработать огромный капитал, новым русским необходимо иметь неординарное мышление. Конечно, при такой сложной работе, должны так же присутствовать какие то особенные механизмы для отдыха и развлечений. В этих целях в казино был придуман специальный набор домино для новых русских. Обычные кости домино представляют собой набор из различных комбинаций сочетаний двух плиток, на каждой из которых отображается от 0 до 6 точек. А этот набор представляет собой подобные сочетания плиток, но количество точек на каждой может быть от нуля до заданного значения, которое зависит от интеллектуального уровня игроков. В таком наборе костей присутствуют всевозможные сочетания плиток, но при этом ни одна из костей не повторяется (даже такие комбинации как 2-5 и 5-2 считаются одинаковыми).

Для изготовления данного набора костей перед изготовителем встала проблема вычисления суммарного количества точек на всех костях домино. Это связано с тем, что домино для новых русских украшается бриллиантами, которые представляют собой точки на плитках и при изготовлении необходимо оценить стоимость.

Помогите написать программу, которая решит эту задачу.
Входные данные

Входной файл INPUT.TXT содержит одно натуральное число N – максимальное количество точек на одной плитке домино. (N <= 10000)

Выходные данные

В выходной файл OUTPUT.TXT выведите количество бриллиантовых камней, которые необходимо изготовить для заданного набора костей.

Погуглив решение этой задачи нашел вот такую формулу,(n*(n+1)/2)*(n+2),не могу понять только как она рабоате и почему то 17 тест не проходит.HELP ME!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<fstream>
using namespace std;
    int kosti(int n){
        if(n>0){
        return  (n*(n+1)/2)*(n+2);
        }
    }
    int main(){
        ifstream cin("input.txt");
        ofstream cout("output.txt");
        int n;
        cin>>n;
        cout<<kosti(n)<<endl;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2014, 17:00     Реализовать точки на костях домино
Посмотрите здесь:

C++ Свой квиксорт с домино и буфетчицами!
Функции, Домино, Как!!? C++
C++ Кости домино
Домино C++
C++ Интелект бота в игре Покер на костях
Как создать в оперативной или во внешней памяти некую структуру наподобие домино? C++
Задача про Домино-2 C++
Определить, соответствует ли последовательность чисел ряду костей домино C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
17.02.2014, 19:21     Реализовать точки на костях домино #2
Цитата Сообщение от Live4Sky Посмотреть сообщение
return *(n*(n+1)/2)*(n+2);
Попробуй так:return *((n*(n+1))/2)*(n+2);
Live4Sky
6 / 1 / 1
Регистрация: 04.10.2013
Сообщений: 42
18.02.2014, 06:11  [ТС]     Реализовать точки на костях домино #3
Цитата Сообщение от Amandosov Посмотреть сообщение
Попробуй так:return *((n*(n+1))/2)*(n+2);
спасибо конечно,но мне нужно объяснение формулы.программа работает уже(вчера переделал)
Yandex
Объявления
18.02.2014, 06:11     Реализовать точки на костях домино
Ответ Создать тему
Опции темы

Текущее время: 18:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru