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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
#1

Алгоритм схемы Горнера - C++

04.01.2012, 00:59. Просмотров 2861. Ответов 4
Метки нет (Все метки)

Задача такова: необходимо посчитать Сумму произведения ((-1)^k)*(((x/2)^2k)/((k!)^2)), где k изменяеться от 1 до бесконечности.

Мною была написана программа на си++ по алгоритму:
1. S=0
2. k=1
3. S=((-1)^k)*(((x/2)^2k)/((k!)^2))
4. k=k+1
5.если k больше 10 в -3 спепени(например), вернуться на 3. иначе выход.

Однако преподователь потребовал, чтобы в вычислении использовалась схема Горнера. И хотя я знаю что это и могу все посчитать вручную, алгоритм для этого написать никак не получаеться. Подскажите кто что может.

Добавлено через 33 минуты
Суть схемы Горнера в том, что за скобки постоянно выносится общий множитель. Т.е. в моем случае:

((x/2)^2)*((-1)/(1!^2)+((x/2)^2)*(((-1)^2)/(2!^2))+((x/2)^2)*(((-1)^3)/(3!^2))+...

Рекурсию наблюдаю, а вот алгоритм..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2012, 00:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм схемы Горнера (C++):

Класс многочлен.Вычисление значения в точке ,используя схемы горнера - C++
Есть класс много член. у него 2 поля.нужно перегрузить оператор () , то есть вычисление значение в точке. с помощью схемы горнера То есть...

Правильно ли создан алгоритм в виде блок схемы ? - C++
1. Найти номер максимального элемента массива.

Блок-схемы для программ на разветвляющийся алгоритм - C++
№1 // Laboratornaa.cpp: определяет точку входа для консольного приложения. // #include"stdafx.h" #include<iostream> ...

Составить алгоритм решения в виде блок-схемы - C++
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то...

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

. Разработать алгоритм в виде блок-схемы и программу вычисления значения функции , приведенной на картинке - C++
. Разработать программу вычисления значения функции , приведенной на картинке

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NoMasters
Псевдослучайный
1753 / 1096 / 72
Регистрация: 13.09.2011
Сообщений: 3,127
04.01.2012, 01:08 #2
Нужно домножать на следующий вынесенный множитель
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
04.01.2012, 01:13  [ТС] #3
Вынесеный множитель один и тот же. Или что вы имеете в виду?
NoMasters
Псевдослучайный
1753 / 1096 / 72
Регистрация: 13.09.2011
Сообщений: 3,127
04.01.2012, 01:27 #4
Начинай изнутри, с члена с максимальным используемым k и домножай последовательно на вынесенные множители
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
04.01.2012, 15:32  [ТС] #5
Добавлено через 13 часов 26 минут
Может кому нибуть будет надо. Считает ф-цию Бесселя 1ого рода нулевого порядка через Горнера, где общий множитель - (x/2)^2

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
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
int fact (int n)
{
  int i,res;
  for (i=1,res=1;i<=n;i++) res=res*i;
  return res;
};
 
 
int main()
{
    int  p, k, n, x, z;
 
cout << "Vvedi x: ";
cin >> x;
cout << "Vvedi k(max)>0: ";
cin >> k;
 
n =  ((-1)^k)/(fact(k)*2);
while(k>0)
{
   z = n*((x/2)^2);  
   k = k-1;
   p =  ((-1)^k)/(fact(k)*2);
   n = p+z;
}
 
cout << " " << n << endl;
 
getch();
 
return 0;
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2012, 15:32
Привет! Вот еще темы с ответами:

Схема Горнера - C++
код схемы Горнера /* * 6 * 3 * 1 3 -2 1 -1 1 * * Ответ: 439 */ #include &lt;stdlib.h&gt; /** EXIT_FAILURE **/

Схема Горнера - C++
Дано вещественное целое число x, целое n, n&gt;0. Найти значение многочлена n-й степени P(x) в точке x по схеме Горнера:...

Схема горнера - C++
Эта схема основывается на следующем представлении многочлена: p(x) = (( ... ((an*x + an-1)x + an-2)x + ... + a2)x + a1)x + a0 ...

Схема Горнера - C++
Дан многочлен P(x)=anxn + an−1xn−1+ … + a1x + a0 и число x. Вычислите значение этого многочлена, воспользовавшись схемой Горнера: ...


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

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

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