Найти сумму ряда - C (СИ) (70829)

Узнай цену своей работы

Формулировка задачи:

По данному числу n вычислите сумму 1+1/22+1/32+...+1/n2. Входные данные Вводится одно число n, не превосходящее 100000. Выходные данные Необходимо вывести значение суммы. Примеры входные данные 2 выходные данные 1.25
#include <stdio.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
  int i;
  long long int n;
  double x;
  scanf("%d",&n );
  x=0;
    for (i = n; i >=1; i--)
    {
    x=x+(1.0/(i*i));
    }
    printf("%f",x);
    system("Pause");
    return 0;
}
Не работает, программа. Частичное решение, пройдено 16 из 17 тестов. Пишет, что надо использовать более длиныый тип. Помогите, пожалуйста.
Там По данному числу n вычислите сумму

Решение задачи: «Найти сумму ряда»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    unsigned long long a;
    int n, i;
    double S = 1;
    puts("Input number <= 100 000:");
    do{
    scanf("%d", &n);
    if(n <= 100000)
        break;
    puts("Less than 100 001,jerk!");
    }while(1);
    for(i = 0; i <= n; ++i){
        a = i * 10 + 2;
        S += (double)1 / a;
    }
    printf("%g\n", S);
    S = 1;
    for(i = 2; i <= n; ++i){
        a = i * i;
        S += (double)1 / a;
    }
    printf("%g\n", S);
    return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены переменные:
    • a - для хранения значения каждого элемента ряда,
    • n - для хранения количества элементов ряда,
    • i - для использования в цикле,
    • S - для хранения суммы ряда.
  2. Выводится сообщение с просьбой ввести число, не превышающее 100 000.
  3. Используется цикл do-while, чтобы проверить, введено ли число, не превышающее 100 000. Если это так, то цикл прерывается, иначе пользователю выводится сообщение Less than 100 001,jerk!.
  4. Используется цикл for для прохода по каждому элементу ряда от 0 до n. Для каждого элемента вычисляется значение a и сумма S увеличивается на 1/a.
  5. Используется еще один цикл for для прохода по всем элементам ряда от 2 до n (исключая 1). Для каждого элемента вычисляется значение a и сумма S увеличивается на 1/a.
  6. Выводится итоговая сумма ряда.
  7. Программа возвращает 0, заканчивая свою работу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5