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

Теорема Виета - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.11.2010, 02:00     Теорема Виета #1
Суть, решить квадратичное уравнение теоремой виета, но мне кажется это идиотизм, потому как, если числа дробные - огромное кол-во комбинаций двух чисел надо проверить. Я вымутил что-то вроде такого алгоритма для целых коэффицентов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
      for(double i=-(fabs(a)+fabs(b)+fabs(c)); i<=fabs(a)+fabs(b)+fabs(c) ; i+=1)
      {
         for(double j=i; j<=fabs(a)+fabs(b)+fabs(c); j+=1)
         {
            if(i+j==sum && i*j==prod)
            {
                x1=j;
                x2=i;
                SetX1(x1);
                SetX2(x2);
                return 2;
            }
        }
      }
Но вот, что я думаю по этому поводу. Перебор абсолютно неэффективен, а другого способа как я понимаю нет. Быть может стоит просто взять известные корни уравнения (посчитанные через дискриминант раньше) и проверить? Что посоветуете?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2010, 02:00     Теорема Виета
Посмотрите здесь:

Теорема синусов C++
Теорема Виета Delphi
C++ Теорема Пифагора
Китайская теорема. Информ. безопасность C++
C++ Обратные корни по теореме Виета
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
30.11.2010, 02:55     Теорема Виета #2
Скорее всего через дискриминант будет проще , и удобнее! и лучше!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.11.2010, 02:59  [ТС]     Теорема Виета #3
VASSUV, Знаю. Через дискр посчитано. Второе задание - по Виете. Делаю по фрилансу и вот застопорился. Мне кажется это не оптимально пытаться подбирать подходящие значения для Виеты...
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.11.2010, 06:25     Теорема Виета #4
Это даже не неоптимально, это просто глупо. Теорема Виета используется не для нахождения корней, а для проверки правильного их нахождения другими способами.
slice
32 / 75 / 4
Регистрация: 04.11.2010
Сообщений: 249
30.11.2010, 10:26     Теорема Виета #5
Друзья, вы не учитываете один важный факт. Но какой именно, я скажу, когда вы все сдадитесь.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.11.2010, 13:18     Теорема Виета #6
slice, какой же факт мы упустили?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.11.2010, 16:24  [ТС]     Теорема Виета #7
silent_1991, Ну вот, что бы ты посоветовал сделать, если есть конкретно такое задание? Послать?)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.11.2010, 16:30     Теорема Виета #8
ForEveR, блин, вот slice меня заинтриговал, вдруг мы все дураки и не видим чего-то очевидного... Но, честное слово, если бы мне дали лопату и сказали срубить дерево, я бы послал, потому что нормальные люди для этого пользуются топором...

Добавлено через 2 минуты

Не по теме:

P.S. Если кто любит рубить деревья лопатами - дико извиняюсь

ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.11.2010, 16:30  [ТС]     Теорема Виета #9
silent_1991, Чего очевидного можно не увидеть в теореме Виета?
Корни надо в любом случае подбирать... Или я не прав?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2010, 16:32     Теорема Виета
Еще ссылки по теме:

C++ Методы построения простых больших чисел, теорема Поклингтона
C++ Теорема Пифагора
C++ Тригонометрическая формула Виета. Как описать формулу на С++?

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.11.2010, 16:32     Теорема Виета #10
Думаю, да, поскольку теорема Виета, по сути, система из двух уравнений с двумя неизвестными, решение которой сводится к решению квадратного уравнения... Поэтому аналитически найти корни я способа не вижу, только перебором.
Yandex
Объявления
30.11.2010, 16:32     Теорема Виета
Ответ Создать тему
Опции темы

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