209. Triangle.
это перевод задачи.
Учитывая 3 положительных действительных чисел х, у, z. Выход "да", если можно построить треугольник со стороной длины х, у, z. Выход "NO" в противном случае. Пример: Вход: 3 4 5 Выход ДА Пример: Вход: 1 4 5 Выход NO оригинал задачи Given 3 positive real numbers x, y, z. Output "YES" if it is possible to construct a triangle with side lengths x, y, z. Output "NO" otherwise. Example: Input: 3 4 5 Output YES Example: Input: 1 4 5 Output NO помогите решить. |
Hardcore, Без проблем. Напишите правило при которых построение треугольника возможно. :)
|
Цитата:
|
Это все данные этого задания.
|
Hardcore, просто проверка условия
Код:
(x+y<z)and(x+z<y)and(y+z<x) |
# include <iostream>
using namespace std; int main () { int x,y,z; cin>> x>>y>>z; (x*x)+(y*y)>(z*z) cout<<"yes"<<endl; if (x*x)+(y*y)<(z*z) cout<<"No"<<endl; return 0; } Так правильно? |
Цитата:
|
Можешь написать свой вариант решения этй задачи?
|
Hardcore, а почему используются квадраты сторон?
Ваапче, найдите в сети "Выгодский М.Я. Справочник по элементарной математике.", найдите там условие существования треугольника и по нему уже напишите программу. Заодно избавите себя от кучи дополнительных вопросов по этой замечательной точной науке. |
Всё, решеил задачку.
Спасибо за советы. |
Цитата:
|
Drongo, сумма любых двух сторон должна быть строго больше третей.
В случае равенства - линия. Если меньше, то треугольника не существует. Что тут решать то? |
В общем вот, С++ начал изучать неделю назад :) за код сильно не ругайте :)
Код:
#include "stdafx.h" |
Hector, чисто практическая придирка.
Отсутствуют комментарии, непонятно, зачем вводить x, y, z. Их просто просят ввести, затем выдают Да / Нет. Незачтено :) |
Цитата:
Также стоит сделать проверку на ввод только положительных чисел |
Вот код моей задачки) спс за наводящие советы.
#include <iostream> using namespace std; int main () { double a,b,c; cin>>a>>b>>c; if (a+b>c && a+c>b && b+c>a) { cout << "yes"<<endl; } else { cout << "no"<<endl; } return 0; } |
Hardcore, твое решение не верно. Ошибку найдешь - молодец. Не найдешь - не молодец. :)
|
верно. я его проверил на контесторе.
так что не ошибки. мне уже + пооставили. |
Hardcore, ты поверь дядьке, твой алгоритм содержит ошибку. Просто на контесторе принят определенный тип тестирования, избавляющий участников от "зашиты от дурака". Например если задан определенный входной формат данных, то он всегда будет таким. Если ожидается цифра, будет цифра а не буква. Я это знаю, т.к. был участником олимпиад по программированию. В реальных условиях это не так. Поэтому ищи ошибку, а за одно и объяснение, почему на контестере тебе поставили "+"
|
Время: 05:10. |
Время: 05:10.
© OSzone.net 2001-