Найти сумму ряда - C (СИ) (70829)
Формулировка задачи:
По данному числу n вычислите сумму 1+1/22+1/32+...+1/n2.
Входные данные
Вводится одно число n, не превосходящее 100000.
Выходные данные
Необходимо вывести значение суммы.
Примеры
входные данные
2
выходные данные
1.25
Не работает, программа. Частичное решение, пройдено 16 из 17 тестов. Пишет, что надо использовать более длиныый тип. Помогите, пожалуйста.
Листинг программы
- #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;
- }
Там По данному числу 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;
- }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
a
- для хранения значения каждого элемента ряда,n
- для хранения количества элементов ряда,i
- для использования в цикле,S
- для хранения суммы ряда.
- Выводится сообщение с просьбой ввести число, не превышающее 100 000.
- Используется цикл do-while, чтобы проверить, введено ли число, не превышающее 100 000. Если это так, то цикл прерывается, иначе пользователю выводится сообщение
Less than 100 001,jerk!
. - Используется цикл for для прохода по каждому элементу ряда от 0 до n. Для каждого элемента вычисляется значение
a
и суммаS
увеличивается на 1/a. - Используется еще один цикл for для прохода по всем элементам ряда от 2 до n (исключая 1). Для каждого элемента вычисляется значение
a
и суммаS
увеличивается на 1/a. - Выводится итоговая сумма ряда.
- Программа возвращает 0, заканчивая свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д