Задача: Для заданных значений [latex]n [/latex] и [latex]x [/latex] вычислить выражение [latex]s = \sin x+\sin \sin x+ \cdots +\sin \sin \cdots \sin x [/latex].
n | x | s |
10 | 5.01 | -6.40802 |
8 | 1.67 | 5.54661 |
20 | 2*PI | 0 |
Решение:
Ссылка на ideone C++: http://ideone.com/70iBvc
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> #include <math.h> using namespace std; int main() { double x,n,s=0; cin>>n>>x; for (int i=0; i<n; i++){ s+=(x=sin(x)); } cout<<"S="<<s; } |
Ссылка на ideone Java: http://ideone.com/M2gM7s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); double x,n,s=0; n=in.nextDouble(); x=in.nextDouble(); for (int i=0; i<n; i++){ s+=(x=Math.sin(x)); } System.out.printf("S = %f",s); } } |
Суммируем в цикле [latex] \sin x [/latex] и присваиваем [latex]x = \sin x[/latex]
— Синус нужно кодировать так \sin x. Иначе выводится просто текстовая строка.
— Чему должно быть равно n, чтобы получился первый член ряда?
— Сделайте, пожалуйста ссылку на код в iseOne
Синус поменял.
При n=1 цикл проходит только 1 раз: [latex]i = 0 < 1[/latex] [latex]x = \sin x[/latex]
Ссылку добавил.
— В условии n и x тоже должны быть в latex.
— Зачем дважды вычислять синус? Вместо 9-й и 10-й строк лучше просто написать s += (x=sin(x)).
Исправил.
Принято