Найти значение выражения - C (СИ) (152006)

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

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

помогите пожалуйста,очень нужно Найти значение выражения ( для натуральных m и n, m<n): а) S=1+2+...+n б) F=1*2*...*n в) A=m+(m+1)+...+(m+n) г) B=m*(m+1)*...*(m+n) д) Y=1+1/2+1/3+...+1/n е) X=1/m+1/(m+1)+...+1/(m+n) ж) S=1+1*2+1*2*3+1*2*3*4+...+1*2*3*...*n

Решение задачи: «Найти значение выражения»

textual
Листинг программы
#include <stdio.h>
 
int S(int n) {
    int s = 0;
    for (; 0 < n; --n) {
        s += n;
    }
    return s;
}
 
int F(int n) {
    int f = 1;
    for (; 0 < n; --n) {
        f *= n;
    }
    return f;
}
 
int A(int m, int n) {
    int a = 0;
    for (; 0 <= n; --n) {
        a += m + n;
    }
    return a;
}
 
int B(int m, int n) {
    int b = 1;
    for (; 0 <= n; --n) {
        b *= m + n;
    }
    return b;
}
 
float Y(int n) {
    float y = 0;
    for (; 0 < n; --n) {
        y += 1.0 / n;
    }
    return y;
}
 
float X(int m, int n) {
    float x = 0;
    for (; 0 <= n; --n) {
        x += 1.0 / (m + n);
    }
    return x;
}
 
int P(int n) {
    int p = 0, i, s = 1;
    for (i = 1; i <= n; ++i) {
        p += s *= i;
    }
    return p;
}
 
int main()
{
    int m, n;
    printf("input 'm' and 'n' (m < n): ");
 
    if ((scanf("%d%d", &m, &n) == 2) && (m < n)) {
        printf("S=%d\n", S(n));
        printf("F=%d\n", F(n));
        printf("A=%d\n", A(m, n));
        printf("B=%d\n", B(m, n));
        printf("Y=%f\n", Y(n));
        printf("X=%f\n", X(m, n));
        printf("P=%d\n", P(n));
    }
 
    return 0;
}

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

  1. В функции S(int n) вычисляется сумма натуральных чисел от 1 до n.
  2. В функции F(int n) вычисляется факториал числа n.
  3. В функции A(int m, int n) вычисляется сумма чисел m и n для всех целых n от m до 0.
  4. В функции B(int m, int n) вычисляется произведение чисел m и n для всех целых n от m до 0.
  5. В функции Y(int n) вычисляется сумма обратных чисел от 1 до n.
  6. В функции X(int m, int n) вычисляется сумма обратных чисел от (m+n) до n.
  7. В функции P(int n) вычисляется значение разбиения числа n на простые множители.
  8. В функции main() считываются два целых числа m и n (предполагается, что m<n).
  9. Выводятся значения функций S, F, A, B, Y, X и P с заданными параметрами.
  10. Если ввод некорректен (например, m>n или m=n), то выводится сообщение об ошибке.

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


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

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

12   голосов , оценка 4.167 из 5
Похожие ответы