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

Спичечная модель - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.75
morphling
 Аватар для morphling
-9 / 19 / 1
Регистрация: 26.06.2010
Сообщений: 181
23.08.2011, 17:03     Спичечная модель #1
Спичечная модель


Профессор Самоделкин решил изготовить объемную модель кубиков из спичек, используя спички для рёбер кубиков. Длина ребра каждого кубика равна одной спичке.

Для построения модели трех кубиков он использовал 28 спичек.

Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков?

Все числа в задаче не превышают 2·10^9.

Технические условия

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

Одно число N – количество кубиков.

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

Одно число – количество спичек.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
 
#include <stdio.h>
//---------------------------------------------------------------------------
 
int main()
 {
    long N;
    FILE *f;
 
    f = fopen("input.txt","r");
     fscanf(f, "%d", &N);
    fclose(f);
 
    f = fopen("output.txt","w");
     fprintf(f, "%d\n", N*8+4);
    fclose(f);
 
    return 0;
 }
 //---------------------------------------------------------------------------
< a href = "http://www.e-olimp.com/media-get/7">Спичечная модель</a>
в чем у меня ошибка не подскажете???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2011, 17:03     Спичечная модель
Посмотрите здесь:

Модель лифта C++
C++ Модель перекрестка
C++ модель атома
Физическая модель C++
Модель стека C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
23.08.2011, 18:43     Спичечная модель #2
Задача недоопределена. Нет информации о том, какая это модель.
Если кубики ставятся подряд в линию - решение одно.
Если кубики собирать в виде 3Д матрицы - другое (меньше спичек надо).
Т.е. нужно определиться с алгоритмом построения 3Д модели.
Например, модель из 4 кубиков, где 2 кубика стоят на двух строится из 27 спичек. Т.е. меньше, чем для 3 кубиков положеных в ряд.
morphling
 Аватар для morphling
-9 / 19 / 1
Регистрация: 26.06.2010
Сообщений: 181
23.08.2011, 19:04  [ТС]     Спичечная модель #3
"Какое наименьшее количество спичек нужно"
"объемную модель"

Решение:
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
//---------------------------------------------------------------------------
 
#include <stdio.h>
#include <math.h>
int NCube(int n)
        {
            int c1=(int)(pow(n,1.0/3)+0.5);
            int c2=(int)(sqrt(n/c1)+0.5);
            int c3=n/(c1*c2);
            int S=3*c1*c2*c3+2*(c1*c2+c1*c3+c2*c3)+(c1+c2+c3);
            int h=n-c1*c2*c3;
            if(h!=0) {
                int d1=(int)(sqrt(h)+0.5);
                if(d1*d1>h) d1--;
                int d2=h/d1;
                S+=3*d1*d2+2*(d1+d2)+1;
                h-=d1*d2;
                if(h!=0) S+=3*h+2;
            }
            return S;
        }
//---------------------------------------------------------------------------
 
int main()
 {
    long N;
    FILE *f;
 
    f = fopen("C:\\input.txt","r");
     fscanf(f, "%d", &N);
    fclose(f);
 
    f = fopen("C:\\output.txt","w");
     fprintf(f, "%d\n", NCube(N));
    fclose(f);
 
    return 0;
 }
//---------------------------------------------------------------------------
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
23.08.2011, 22:00     Спичечная модель #4
http://habrahabr.ru/blogs/sport_programming/113720/
Вот решение с пояснением
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.08.2011, 06:00     Спичечная модель #5
Цитата Сообщение от Deviaphan Посмотреть сообщение
модель из 4 кубиков, где 2 кубика стоят на двух строится из 27 спичек
Я соврал. Проблемы с математикой.(
SoulC++
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 13
28.09.2011, 00:21     Спичечная модель #6
Спасибо за функцию, но мне более интереснее было бы понять как вообще закономерность считается?Если можно то в ЛК. Спасибо.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
28.09.2011, 00:34     Спичечная модель #7
Цитата Сообщение от SoulC++ Посмотреть сообщение
Спасибо за функцию, но мне более интереснее было бы понять как вообще закономерность считается?Если можно то в ЛК. Спасибо.
что такое ЛК?
сколько надо спичек чтобы сделать один кубик? 12
а чтобы сделать 2 кубика, стоящих друг на друге? 20
а 3 кубика "встолбик"? 28
полезно иметь на столу черновую тетрадь и ручку
Наверное "личка".
а я понял как Лига Кентавров... энтропия
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
28.09.2011, 00:37     Спичечная модель #8
Цитата Сообщение от alkagolik Посмотреть сообщение
что такое ЛК?

Не по теме:

Наверное "личка".

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 14:11     Спичечная модель
Еще ссылки по теме:

Программа на C++, которая переводит цветовую модель RGB в модель HSV C++
Модель «Сахарный мир» C++
C++. Виртуальная модель C++

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

Или воспользуйтесь поиском по форуму:
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
09.03.2012, 14:11     Спичечная модель #9
На c++ фунция sqrt только для float, а на целые числа не распространяется!
Yandex
Объявления
09.03.2012, 14:11     Спичечная модель
Ответ Создать тему
Опции темы

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