|
|
|
| Дано натуральное число n, действительное число x. Вычислить
sin(x)+sin квадрат (x)+…+sin в степени n (x)
Вычислить сумму ряда с точностью E, общий член которого
A с индексом n = n в квадрате деленное на ln(n!)
эти задачи надо зделать через цикл с предусловием (while) | |
|
|
|
|
|
|
|
для: Лёха 2010
(28.11.2010 в 10:27)
| | #include <iostream>
#include <conio.h>
#include <math.h>
int main()
{
int n,count=0;
double x;
std::cin>>n
>>x;
double s=0;
while(count<=n)
{
count++;
s+=pow((double)sin(x),(double)count);
};
std::cout<<s;
getch();
return 1;
}
|
#include <iostream>
#include <conio.h>
#include <math.h>
int main()
{
double eps;
std::cin>>eps;
double s1=0, s2=4./log(2.);
int i=2;
double n=2;
while(abs(s1-s2)>eps)
{
i++;
n*=(n+1);
s1=s2;
s2+=i*i/log(n);
};
std::cout<<s2;
return 1;
}
|
Сразу предупрежу что вторую задачу НАДО решать через арифметику длинных чисел, т.к. уже факториал 20! нельзя записать в виде численных типов данных. А там придется думать...
п.с. Задай преподу вопрос, как он бы ее сделал. | |
|
|
|
|
|
|
|
для: Vorox
(29.11.2010 в 17:31)
| | У меня тоже на факториал задачка была, и проблема с большими значениями тоже возникала. Можно факториал представить в виде массива. При больших значениях долго на моей машине считается. Можно через определенное кол-во итераций выводить процент выполненных работ(при больших числах полезно). | |
|
|
|
|
|
|
|
для: Miha_drinking_bout
(30.11.2010 в 12:26)
| | Ну так эта арифметика и подразумевает использование символьных/числовых массивов.
Просто так такие задачи ни кто решать я думаю не станет, т.к. они отнимают много времени :) | |
|
|
|
|
|
|
|
для: Vorox
(01.12.2010 в 01:28)
| | Надеюсь не потребуют такого изврата - сегодня контрольную сдал, там подобное решение (в лоб) на факториал было. Белиберду выдает уже при значениях примерно 35! Ничего переделывать не стал, сдал так (1й курс все таки) надеюсь прокатит. | |
|
|
|