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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
St1nk3r
7 / 7 / 0
Регистрация: 12.01.2010
Сообщений: 10
#1

Правильный треугольник - C++

12.01.2010, 22:00. Просмотров 1619. Ответов 3
Метки нет (Все метки)

Какова должна быть длина стороны правильного треугольника a,чтобы из него можно было вырезать n кругов радиуса r?
Помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2010, 22:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Правильный треугольник (C++):

Класс правильный треугольник - C++
ребята помогите создать класс- правильный треугольник

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник - C++
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - равносторонний треугольник (·...

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

Создать абстрактный класс "Треугольник" и производный - "Равнобедренный треугольник" - C++
Задание Создать абстрактный класс треугольник. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода...

Правильный ответ - C++
Помогите найти правильный ответ: 1) What will I see as output if I were to execute the following statements: PriorityQueue...

Правильный ли код? - C++
Вот весь мой код в С++.Не пойму, где ошибка! Что то много всего.... Ругается С++ на "int main()" Если кто нить сможете, пожалуйста можете...

3
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
12.01.2010, 22:47 #2
Этот алгоритм не строит треугольник минимальной площади, но по условию это не требуется.

Положить круги в пирамиду.
Например 1, 3, 6, 10, 15 кругов хорошо кладутся в пирамиду.
Если кругов например 5, то рассчитываем на пирамиду из 6, но одного круга нет.
Далее вокруг этой пирамиды легко строится правильный треугольник.
Осталось посчитать его сторону.

Имеется полная пирамида со стороной m кругов.
Очевидно, что n==(1+m)*m/2
Посчитаем сторону описанного треугольника.
В нижнем ряду лежит m кругов.
Между кругами имеется (m-1) промежутков длиной 2*r
a0=(m-1)*2*r

Угол правильного треугольника - 60, половина угла - 30.

Крайний круг лежит на нижней стороне описанного треугольника.
Нужно найти a1 - расстояние от точки касания крайнего круга и нижней стороны до угла треугольника.

Расмотрим маленький треугольник в углу.
sin(30)=1/2=r/2r.
Значит расстояние от угла описанного треугольника до центра ближайшего круга - 2r.

Иcкомое расстояние a1 - это один из катетов маленького треугольника
a1= sqrt(3*r^2)=r*sqrt(3)

Полная сторона: a=a1+a0+a1=r*sqrt(3)+(m-1)*2*r+r*sqrt(3) =>
a= 2*r*(sqrt(3)+(m-1))

Осталось определить m из n.

m - этот минимальное целое, такое что (1+m)*m/2 >= n
1
St1nk3r
7 / 7 / 0
Регистрация: 12.01.2010
Сообщений: 10
13.01.2010, 14:23  [ТС] #3
спасибо!
попробую решить!

Добавлено через 53 минуты
4тото не выходит у меня ету формулу перевести в сишку(
помогите!

Добавлено через 14 часов 25 минут
4тото не выходит у меня ету формулу перевести в сишку(
помогите!
0
xxxwerusxxx
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 7
06.04.2010, 09:22 #4
а можно это перевести в код delphi?)) или если есть на СИ выложите пожалуйста)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2010, 09:22
Привет! Вот еще темы с ответами:

Правильный ответ? - C++
Доброго всем времени суток! Возникли вопросы, помогитеб пожалуйста: 1) Возможно ли, что member функция класса to activate (call)...

Не правильный указатель - C++
У меня постоянно какие то бока с указателями Помогите QLibrary myLib("ProcMon"); qDebug() << myLib.load(); typedef void...

Правильный ответ? - C++
Помогите, пожалуйста ответить на такой вопрос: Предположим grade - массив 10 целых чисел, какое из следующих уверждений является...

Правильный инклюд *.h! - C++
Привет, хочю задать такой вопрос. У меня есть класы в файлах Menu.h, Options.h, About.h, Game.h, Pause.h. Каждый из етих класов должен...


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

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

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