Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 25.11.2020
Сообщений: 18
1

Дано натуральное число N. Вычислить S

27.11.2020, 17:50. Показов 3355. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано натуральное число N. Вычислить S=1+(1/4)+(1/9)+...+(1/N^N) не использую формулу возведения в квадрат, код написан но не работает, подскажите пожалуйста что изменить, буду рада посмотреть другие варианты кодов)

код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    int N, i, z=1;
    double S;
    printf("N=");
    scanf("%d", &N);
    for(i=1; i<=N; i++)
    {
        z=i;
            while (i>=1)  //ищем знаменатель в n степени
            {
                z*=z; 
                i--;
            }
       S = S + (1/z);  // находим сумму n слагаемых
    }
    printf("S=%lf", S);
 
    return 0;
}
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2020, 17:50
Ответы с готовыми решениями:

Дано натуральное число n. Вычислить
Как расписать факториал?

Дано натуральное число n. Вычислить: 1*2+2*3*4+3*4*5*6+.+n(n+1).2n
Помогите пожалуйста написать программу с циклом for.

Дано натуральное число. Вычислить сумму
\sum_{k=1}^{n}(-1)^{k}\frac{(n+1)^k}{(n+2)^k} Ребят, помогите, пожалуйста.

Дано натуральное число n, необходимо вычислить
Нужен пункт б, подскажите пожалуйста, не могу сообразить вообще(

8
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
28.11.2020, 09:45 2
Цитата Сообщение от Alexandra0220 Посмотреть сообщение
подскажите пожалуйста что изменить
Cделать z double

Добавлено через 8 минут
Потому что в выражении S = S + 1 / z первым вычислится 1 / z. Поскольку z - int, то единицу компилятор тоже считает как int. Получаем 1(int) / z(int) = 0. Исключение, при z = 1.
1
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
28.11.2020, 12:48 3
Alexandra0220, можно просто в строке 19
C
1
 S = S + (1.0/z);
Однако, пример
Цитата Сообщение от Alexandra0220 Посмотреть сообщение
S=1+(1/4)+(1/9)+...+(1/N^N)
не совпадет заданием. Может быть
S = 1 + 1/4 + 1/27+ ...

Добавлено через 4 минуты
И еще. Я бы сделал так
C
1
2
3
4
5
6
7
8
   for(i=1; i<=N; i++)   {
        double z = 1.0/i;
        while (i>=1)  { //ищем знаменатель в n степени
             z /=i; 
              i--;
        }
       S = S + z;  // находим сумму n слагаемых
    }
Вы, наверное, скажите - "что в лоб, что по лбу". Однако, это не совсем так. Разница есть. И весьма существенная...
1
из племени тумба-юбма
2482 / 1804 / 418
Регистрация: 29.11.2015
Сообщений: 8,755
Записей в блоге: 15
28.11.2020, 12:53 4
В данном примере будет бесконечный цикл while (i>=1)
1
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
28.11.2020, 13:06 5
Цитата Сообщение от мама Стифлера Посмотреть сообщение
будет бесконечный цикл
Да. Скопистил, не заметив
C
1
2
3
4
5
6
7
8
9
   for(i=1; i<=N; i++)   {
        int p = i;
        double z = 1.0/p;
        while (p>=1)  { //ищем знаменатель в n степени
             z /=p; 
              p--;
        }
       S = S + z;  // находим сумму n слагаемых
    }
1
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
28.11.2020, 15:13 6
Цитата Сообщение от Alexandra0220 Посмотреть сообщение
подскажите пожалуйста что изменить, буду рада посмотреть другие варианты кодов
Можно еще заюзать быстрое возведение в степень Написать функцию, которая возводит а в степень b
0
из племени тумба-юбма
2482 / 1804 / 418
Регистрация: 29.11.2015
Сообщений: 8,755
Записей в блоге: 15
28.11.2020, 15:25 7
Цитата Сообщение от assemberist Посмотреть сообщение
Можно еще заюзать быстрое возведение в степень
в начальном посте есть условие, поэтому возведение в степень наверно не катит
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
28.11.2020, 16:12 8
Цитата Сообщение от мама Стифлера Посмотреть сообщение
есть условие, поэтому возведение в степень наверно не катит
Я думаю, что запрет касается функции pow, а самостоятельное никому не не запрещено. Да и по коду возведение присутствует. Уважаемый assemberist просто предложил его сделать еще краше.
0
из племени тумба-юбма
2482 / 1804 / 418
Регистрация: 29.11.2015
Сообщений: 8,755
Записей в блоге: 15
28.11.2020, 16:28 9
Цитата Сообщение от Байт Посмотреть сообщение
запрет касается функции pow
возможно так и есть
0
28.11.2020, 16:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2020, 16:28
Помогаю со студенческими работами здесь

Дано натуральное число n. Вычислить выражение
Дано натуральное число n. Вычислить (1+1/1^2)*(1+1/2^2)*...*(1+1/n^2)

Дано натуральное число N. Вычислить сумму ряда
Дано натуральное число N. Вычислить: S=\sum_{k=1}^{n}\frac{(-1)^k(k!+1)x^k}{3^k} пожалуйста...

Дано натуральное число N. Вычислить сумму элементов последовательности
Недавно начал изучать СИ. Помогите пожалуйста. Вычислить S = 1+2^2+3^3+....+N^N Формулу...

Дано действительное число a, натуральное n. Вычислить значение выражения
Дано действительное число a, натуральное n. Вычислить значение выражения

Дано натуральное число N. Вычислить произведение первых N сомножителей 1/1*8/9*15/17*22/25*....
Исправте плиз)) Дано натуральное число N. Вычислить произведение первых N сомножителей...

Дано натуральное число n. Вычислить сумму его цифр
Дано натуральное число n. Вычислить сумму его цифр. Задача на итерационный цикл.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru