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

Треугольники из спичек - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
07.07.2012, 11:36     Треугольники из спичек #1
Профессор Самоделкин, известный Вам по задаче "Спичечная модель", решил вновь проявить свои умственные способности. Он начал складывать треугольники со спичек.

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

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

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

Одно число N < 2000000000.

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

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

Для построения 2-х треугольников требуется 5 спичек. для одного - 3.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
07.07.2012, 12:01     Треугольники из спичек #2
если все треугольники лежат на плоскости и пирамид из них не строится, то N * 2 + 1
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
07.07.2012, 12:15  [ТС]     Треугольники из спичек #3
Да, вот я пользовался этой формулой, да только неправильно. 10% - правильных ответов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
long x;
__int64 Ntriangle(long x)
{
    return x>0 ? (x*2+1) : 0;
}
int main()
{
    scanf("%ld",&x);    
    printf("%lld\n",Ntriangle(x));
}
Добавлено через 3 минуты
Я сам рисовал, строил, оказалось, чтобы построить 6 треугольников - надо 13 спичек, а 7 - 14! Вот так...

Добавлено через 2 минуты
А дальше - формула не работает!
Dzhej-Dzhej
Заблокирован
07.07.2012, 12:17     Треугольники из спичек #4
Цитата Сообщение от SeryZone Посмотреть сообщение
Я сам рисовал, строил, оказалось, чтобы построить 6 треугольников - надо 13 спичек, а 7 - 14! Вот так...
Чтобы построить 6 треугольников нужно 12 спичек сложив из них шестиугольник состоящий из треугольников, два шестиугольника с общей стороной - 23 спички.
Здесь задача более хитра, чем кажется на первый взгляд.
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
08.07.2012, 13:57  [ТС]     Треугольники из спичек #5
Тогда что, точной формулы нет?

Добавлено через 18 минут
Но главное, что нет третьего измерения!

Добавлено через 18 часов 53 минуты
Я решал подобную задачу, про квадраты, могу дать код, может это что-то изменит...
Dzhej-Dzhej
Заблокирован
08.07.2012, 19:55     Треугольники из спичек #6
Цитата Сообщение от SeryZone Посмотреть сообщение
Но главное, что нет третьего измерения!
По условиям задачи нету, надеюсь.
Далее:
Три шестиугольника(12*3) имеют три общих спички, т.е. 33 спички нужно для их построения.
Семь шестиугольников образуют "большой шестиугольник" 12*7 - 6 - 6 = 72 спички(84 нужно как-бы, 42 треугольника).
После "большого шестиугольника" пойдет шестиугольник(не знаю как назвать) состоящий из семи "больших шестиугольников" и та же беда - отнимать количество общих спичек.

С другой стороны доказано, что наиболее оптимальным соотношением к расходу строй-материалов(спички) к хранимой продукции(треугольники в шестиугольниках) - являются пчелиные соты.
Может через площадь фигуры решать эту задачу? И остаток спичек достраивать.

ЗЫ: нужно было в "алгоритмы".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2012, 12:51     Треугольники из спичек
Еще ссылки по теме:

C++ Треугольники
Перисикаются ли треугольники C++
треугольники в с++ с void C++

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

Или воспользуйтесь поиском по форуму:
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
11.07.2012, 12:51  [ТС]     Треугольники из спичек #7
Так тут надо проверять делимость на 6?
Yandex
Объявления
11.07.2012, 12:51     Треугольники из спичек
Ответ Создать тему

Метки
моделирование
Опции темы

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