day & night

Вычисление полинома, в С++
Дата обновления: , перейти к новому сообщению
icon9
#1
ZaHack



Большой Брат
Group Icon

Группа: Заблокированные
Сообщений: 1.252
Регистрация: 24.01.2006
Из: Where The Eagles Fly
Пользователь №: 333


Респектов: 117
-----X----




Столкнулся с проблемой. Было дано задание написать прогамму на С++ которая выводит в консоль значения полинома у=11(х^10) + 10(x^9) + ..... +2x + 1. Разумеется, сперва прога запрашивает значение "х", и уже потом выводит значение в консоль. Вот вроде простая прога, а я сделать не смог sad.gif . Подскажите как, если кто знает?
User is offline
Go topGo end
 

Ответов(1 - 5)
27.10.2006 - 18:47
#2
Korich



Game Developer
Group Icon

Группа: Наши Люди
Сообщений: 2.324
Регистрация: 11.04.2006
Из: ниоткуда
Пользователь №: 13


Респектов: 671
-----XXXX-




int y=0;
int a = 11;
do
{
y = y + exp(x*ln(a-1));
а--;
}
while a != -1;
User is offline
Go topGo end
27.10.2006 - 19:44
#3
Штуцер



Специалист
Group Icon

Группа: Наши Люди
Сообщений: 363
Регистрация: 2.03.2006
Из: The Earth planet
Пользователь №: 125.765


Респектов: 83
-----X----




Дурак ты, 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
User is offline
Go topGo end
27.10.2006 - 19:57
#4
Korich



Game Developer
Group Icon

Группа: Наши Люди
Сообщений: 2.324
Регистрация: 11.04.2006
Из: ниоткуда
Пользователь №: 13


Респектов: 671
-----XXXX-




Штуцер, я и без тебя знаю чё я дурак, но код мой правильный
а у тя лишняя переменная, больше памяти выделяешь , да еще результат на 1 больше smile.gif)
проверь лучше biggrin.gif
потом уже будешь кричать ph34r.gif
User is offline
Go topGo end
27.10.2006 - 21:42
#5
ZaHack



Большой Брат
Group Icon

Группа: Заблокированные
Сообщений: 1.252
Регистрация: 24.01.2006
Из: Where The Eagles Fly
Пользователь №: 333


Респектов: 117
-----X----




Штуцер, респект! И еще один маленький вопросик...Что конкретно означает вот эта строка:
CODE
for(double a=1.0;a<1.1E1;a++)
, а точнее 1.1Е1? Для чего это? Объясни, плз
User is offline
Go topGo end
28.10.2006 - 12:35
#6
Штуцер



Специалист
Group Icon

Группа: Наши Люди
Сообщений: 363
Регистрация: 2.03.2006
Из: The Earth planet
Пользователь №: 125.765


Респектов: 83
-----X----




1.1E1 - тоже самое что и 11, и 11.0. Просто число 11 с плавающей запятой двойной точности. Можно было бы использовать челое число 11, но при этом будет происходить неявное преобразование типов, а я предпочитаю делать это явно.
User is offline
Go topGo end

Topic Options
Сейчас: 19.05.2024 - 8:55
Мобильная версия | Lite версия