** каком-нибудь языке (желательно си) написать программу (текст задания во вложении)

0 голосов
29 просмотров

На каком-нибудь языке (желательно си) написать программу (текст задания во вложении) a_{n} = \frac{1}{ 2^{n} } + \frac{1}{ 3^{n} }


image

Информатика (978 баллов) | 29 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Программа без использования функции возведения в степень (pow()):
#include

int main(void) {
    float eps, a, s=0;
    int a2=1, a3=1;
    printf("eps = ");
    scanf("%f",&eps);
    a = 1.0/a2+1.0/a3;
    while (a>=eps){
    a2 *= 2; a3 *= 3;
    a = 1.0/a2+1.0/a3;
    s += a;
    }
    printf("s = %lf\n", s); 
    return 0;
}

Пример:
eps = 0.001
s = 1.499015

(194k баллов)
0 голосов

Сумма ряда - это сумма двух геометрических прогрессий, с q1 = 1/2 и с q2 = 1/3.

S1 = ((1/2)^(n+1)-1)/(1/2 - 1)
S2 = ((1/3)^(n+1)-1)/(1/3 - 1)

S = S1 + S2

Фрагмент программы на Pascal:

S1 := (power(0.5, n + 1) - 1.0) / -0.5;
S2 := (power(1.0/3.0, n + 1) - 1.0) / -(1.0/3.0);
S: = S1 + S2;

Переменные S, S1, S2 должны быть объявлены как вещественные.

(9.2k баллов)
0

а power в Pascal это что, не подскажете?

0

и если Е=0,003 то как программа будет выглядеть ?

0

power - это возведение в степень

0

Программа будет выглядеть так же само. Эта формула считает с максимальной, на мой взгляд, точностью, т. е. до 15 знаков. Если нужна меньшая точность, ее можно искусственно уменьшить.

0

спасибо!