Твой софтовый форум > Тематические форумы > Программирование

Вычисление полинома

,

в С++

Дата публикации: 28.10.2006 - 12:35
ZaHack
Столкнулся с проблемой. Было дано задание написать прогамму на С++ которая выводит в консоль значения полинома у=11(х^10) + 10(x^9) + ..... +2x + 1. Разумеется, сперва прога запрашивает значение "х", и уже потом выводит значение в консоль. Вот вроде простая прога, а я сделать не смог sad.gif . Подскажите как, если кто знает?
Korich
int y=0;
int a = 11;
do
{
y = y + exp(x*ln(a-1));
а--;
}
while a != -1;
Штуцер
Дурак ты, korich, и шутки у тебя дурацкие... smile.gif
У меня только что сработал такой вариант (С++):

#include
#include
int main()
{
double x,y,z;
cin>>x;
y=1.0;
z=x;
for(double a=1.0;a<1.1E1;a++)
{
y+=(a+1.0)*z;
z*=x;
}
cout< getch();
return 1;
}

Это что-то типа схемы Горнера, если не ошибаюсь. Проверил Maple, точно правильно, но оптимизировать еще можно, если есть желание. Дерзайsmile.gif
Korich
Штуцер, я и без тебя знаю чё я дурак, но код мой правильный
а у тя лишняя переменная, больше памяти выделяешь , да еще результат на 1 больше smile.gif)
проверь лучше biggrin.gif
потом уже будешь кричать ph34r.gif
ZaHack
Штуцер, респект! И еще один маленький вопросик...Что конкретно означает вот эта строка:
CODE
for(double a=1.0;a<1.1E1;a++)
, а точнее 1.1Е1? Для чего это? Объясни, плз
Штуцер
1.1E1 - тоже самое что и 11, и 11.0. Просто число 11 с плавающей запятой двойной точности. Можно было бы использовать челое число 11, но при этом будет происходить неявное преобразование типов, а я предпочитаю делать это явно.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Вычисление полинома
SoftoRooM © 2004-2024