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

С++ для начинающих

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

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

23.08.2011, 17:03. Просмотров 3224. Ответов 8
Метки нет (Все метки)

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


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

Для построения модели трех кубиков он использовал 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++
Пробовал создать физическую модель нецентрального соударения 2х шаров - не получилось. Помогите решить, учитывая, что у каждого шара...

Модель стека - C++
Не знаю где создать эту тему, поэтому создал тут: Есть вот такое задание: Модель стека 1. Исходные данные: стек списковой...

модель атома - C++
написать программу ,которая осуществит движение електронов вокруг атома.

Модель полета - C++
Добрый день. Мне нужно смоделировать полета самолета по горизонтальной восьмерке, нужно вывести крен, тангаж и приборную скорость, а также...

C++. Виртуальная модель - C++
Заранее извиняюсь.Если подобные темы уже возникали.Но вопрос в следующем.Никто не мог бы дать ссылку,примеры,по работе с анимацией в С++.? ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
23.08.2011, 18:43     Спичечная модель #2
Задача недоопределена. Нет информации о том, какая это модель.
Если кубики ставятся подряд в линию - решение одно.
Если кубики собирать в виде 3Д матрицы - другое (меньше спичек надо).
Т.е. нужно определиться с алгоритмом построения 3Д модели.
Например, модель из 4 кубиков, где 2 кубика стоят на двух строится из 27 спичек. Т.е. меньше, чем для 3 кубиков положеных в ряд.
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
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
23.08.2011, 22:00     Спичечная модель #4
http://habrahabr.ru/blogs/sport_programming/113720/
Вот решение с пояснением
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 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
Заблокирован
28.09.2011, 00:34     Спичечная модель #7
Цитата Сообщение от SoulC++ Посмотреть сообщение
Спасибо за функцию, но мне более интереснее было бы понять как вообще закономерность считается?Если можно то в ЛК. Спасибо.
что такое ЛК?
сколько надо спичек чтобы сделать один кубик? 12
а чтобы сделать 2 кубика, стоящих друг на друге? 20
а 3 кубика "встолбик"? 28
полезно иметь на столу черновую тетрадь и ручку
Наверное "личка".
а я понял как Лига Кентавров... энтропия
MILAN
885 / 779 / 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++
Модель «Сахарный мир» Модель «Сахарный мир» описывается следующими правилами: 1) Пространство является двумерной сеткой. 2) В...

Исследование алгоритмов (модель) - C++
Помогите решить задачку, наработок пока нету, с чего начать тоже не знаю... Исследование алгоритмов (модель) решения проблемы...

Модель СМО на С++. Реально? - C++
Добрый вечер! Можно ли при помощи языка С++, построить модель СМО? Если да, то может кто помочь, т.е. подсказать, как и с чего лучше начать?

Программная модель движения шариков - C++
вот код: #include &lt;stdlib.h&gt; #include &lt;GL/glut.h&gt; #include &lt;GL/glaux.h&gt; #include &lt;math.h&gt; #include &lt;cmath&gt; #pragma comment...

Реализовать модель ассоциативного кеша - C++
Передо мной стоит задача, реализовать модель ассоциативного кеша, я решил использовать очередь с приоритетами, в ней будут храниться пары...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru