19.10.2013, 19:14 | #1 (permalink) |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Решение в Java
В общем, задача такая: sin(a)+sin(a^2)+sin(a^3)+...+sin(a^n) Нужно получить результат для определенных a и n. Во первых, я не влип в смысл этой задачи, а во вторых, не знаю как написать решение. Как я понимаю, здесь a представляется в радианах? Заранее благодарен. Вдвойне благодарен за подробно расписанное решение. |
19.10.2013, 19:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пожалуйста, обратите внимание на то, что на форуме имеются схожие темы ПК в столе - Java Не доступен формат JAVA Проблемы с Java |
19.10.2013, 19:35 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Рад бы помочь, но, увы, в Яве ни бум-бум. Поэтому всё, что могу - это выложить решение на Паскале, авось с алгоритмом будет понятнее.
Код:
Var a,b,Sum:real; n,i:Integer; Begin Write('a= '); Readln(a); Write('n= '); Readln(n); Sum:=0; b:=1; For i:=1 to n do begin b:=b*a; Sum:=Sum+Sin(b); end; Writeln('Result: ',Sum:0:5); Readln End. |
19.10.2013, 20:04 | #3 (permalink) | ||
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Цитата:
Цитата:
Завтра со свежей головой попробую код перевести в Java, авось что-то да получится... |
||
19.10.2013, 20:16 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
1. Объявляются переменные a, n, Sum (будущая искомая сумма), i (переменная цикла), b (вспомогательная). 2. Вводятся значения a и n. 3. Присваиваются исходные значения: Sum=0, b=1. 4. Организуется цикл в n шагов, на каждом из которых: а) число b домножается на a. б) к Sum прибавляется Sin(b). Если поразмыслить, то станет ясно, что это и будет суммированием синусов возрастающих степеней a. 5. Выводится результат. |
|
19.10.2013, 20:30 | #5 (permalink) | |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
20.10.2013, 11:12 | #6 (permalink) |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Не-а, не получается... Ввод n, Ввод данных в градусах, затем преобразование в радианы, нахождение значения синуса и всё... А как цикл написать, чтобы значения всех полученных синусов суммировались, не знаю...
|
20.10.2013, 11:23 | #7 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
for (int i = 1; i <= n; i++) { b = b*a; Sum = Sum + Sin(b); } |
|
20.10.2013, 12:23 | #9 (permalink) |
Member
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
|
Как можно задать первоначальное значение для переменной Sum?
Сначала ведь её значение - 0, затем при n=1 - sin(a), затем при n=2 - sin(a)+sin(a^2)... Если в начале программы поставить double Sum=0, то программа везде будет считать, что Sum=0? Блин, пока я тут программу пробовал писать, у меня блинчики на кухне сгорели(((( Буду без завтрака((( |
20.10.2013, 13:15 | #10 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|