Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 02.01.2015 10:17
- Информатика
- remove_red_eye 15192
- thumb_up 5
Ответы и объяснения 2
double sum1 (int n) { int i;
double tmp, acc = 0.0;
for (i = 1; i <= n; i++) {
tmp = (double)i; // преобразование типов tmp *= tmp; // возведение в квадрат acc += 1.0/tmp; // добавляем дробь к аккумулятору } return acc + (double)n; // в конце добавляем сумму единиц}
Второй способ: можно дроби привести к общему знаменателю:
И уже такую штуку вычислять в цикле (в квадрат возводить, само собой, один раз на одну итерацию цикла). Возможно такой метод даст бОльшую точность при больших n, когда начнём приближаться к пределу по разрядной сетке, но тут на 100% не поручусь.
double sum2 (int n) { int i; double tmp, acc = 0.0; for (i = 1; i <= n; i++) { tmp = (double)i; // преобразование типов tmp *= tmp; // возведение в квадрат acc += (tmp+1.0)/tmp; // вычисление выражения и прибавление к аккумулятору } return acc;}
- 04.01.2015 00:43
- thumb_up 40
#include
#include
using namespace std;
int main()
{
float s = 0.f;
unsigned n;
cin >> n;
if (n < 0) {
cout << "Error!" << endl;
} else {
for (int i = 1; i <= n; ++i) {
s += 1 + (1 / pow(i, 2));
}
cout << s << endl;
}
return 0;
}
- 04.01.2015 10:47
- thumb_up 1
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.