Информатика, вопрос задал 306da , 8 лет назад

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

Приложения:

Ответы на вопрос

Ответил Змей24
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 должны быть объявлены как вещественные.

Ответил 306da
0
а power в Pascal это что, не подскажете?
Ответил 306da
0
и если Е=0,003 то как программа будет выглядеть ?
Ответил Змей24
0
power - это возведение в степень
Ответил Змей24
0
Программа будет выглядеть так же само. Эта формула считает с максимальной, на мой взгляд, точностью, т. е. до 15 знаков. Если нужна меньшая точность, ее можно искусственно уменьшить.
Ответил 306da
0
спасибо!
Ответил petyaGavrikov
0
Программа без использования функции возведения в степень (pow()):
#include <stdio.h>

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 = %lfn", s); 
    return 0;
}

Пример:
eps = 0.001
s = 1.499015
Новые вопросы