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

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

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

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

23.08.2011, 17:03. Просмотров 3285. Ответов 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>
в чем у меня ошибка не подскажете???
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2011, 17:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Спичечная модель (C++):

Программа на C++, которая переводит цветовую модель RGB в модель HSV - C++
Всем привет! Я - начинающий программист. Мне нужна ваша помощь. Мне нужно сделать программу на C++, которая переводит цветовую модель RGB в...

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

Модель перекрестка - C++
Приветствую. Небольшая предыстория: я не программист, а будущий педагог, но так сложилось, что в рамках большой исследовательской работы...

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1287 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
23.08.2011, 18:43 #2
Задача недоопределена. Нет информации о том, какая это модель.
Если кубики ставятся подряд в линию - решение одно.
Если кубики собирать в виде 3Д матрицы - другое (меньше спичек надо).
Т.е. нужно определиться с алгоритмом построения 3Д модели.
Например, модель из 4 кубиков, где 2 кубика стоят на двух строится из 27 спичек. Т.е. меньше, чем для 3 кубиков положеных в ряд.
0
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;
 }
//---------------------------------------------------------------------------
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
23.08.2011, 22:00 #4
http://habrahabr.ru/blogs/sport_programming/113720/
Вот решение с пояснением
1
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1287 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.08.2011, 06:00 #5
Цитата Сообщение от Deviaphan Посмотреть сообщение
модель из 4 кубиков, где 2 кубика стоят на двух строится из 27 спичек
Я соврал. Проблемы с математикой.(
0
SoulC++
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 13
28.09.2011, 00:21 #6
Спасибо за функцию, но мне более интереснее было бы понять как вообще закономерность считается?Если можно то в ЛК. Спасибо.
0
alkagolik
Заблокирован
28.09.2011, 00:34 #7
Цитата Сообщение от SoulC++ Посмотреть сообщение
Спасибо за функцию, но мне более интереснее было бы понять как вообще закономерность считается?Если можно то в ЛК. Спасибо.
что такое ЛК?
сколько надо спичек чтобы сделать один кубик? 12
а чтобы сделать 2 кубика, стоящих друг на друге? 20
а 3 кубика "встолбик"? 28
полезно иметь на столу черновую тетрадь и ручку
Наверное "личка".
а я понял как Лига Кентавров... энтропия
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
28.09.2011, 00:37 #8
Цитата Сообщение от alkagolik Посмотреть сообщение
что такое ЛК?

Не по теме:

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

0
SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
09.03.2012, 14:11 #9
На c++ фунция sqrt только для float, а на целые числа не распространяется!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 14:11
Привет! Вот еще темы с ответами:

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

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

Модель ООП - C++
Помоги сделать, пожалуйста работу! Возможно у кого нибудь есть примеры работы с классами! БУду рада всему, что есть! У меня тема &quot;Клуб...

Модель «Сахарный мир» - C++
Модель «Сахарный мир» Модель «Сахарный мир» описывается следующими правилами: 1) Пространство является двумерной сеткой. 2) В...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.03.2012, 14:11
Ответ Создать тему
Опции темы

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