Найти первые n членов последовательности и их сумму - C (СИ)

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

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

Доброго времени суток. Нужно найти первые n членов последовательности и их сумму. Вот мой код:
    
    printf("\n a1=");                       
    scanf("%d", &a1);       
    printf("\n a2=");                       
    scanf("%d", &a2);       
    printf("\n n=");                        
    scanf("%d", &n);        
    
    printf("\n-----------------");
    printf("\n  k     a     s ");
    printf("\n-----------------");
    
    s = 1/(sqrt((a2) + sqrt(a1)));  

for (k=3; k<=n; k++)
        {
            a = 1/(sqrt((a2) + sqrt(a1)));      
            s += a;         
            a1 = a2;
            a2 = a;
            
            printf("\n%3d   %3d   %3d", k, a, s);   
        
        }
            
    printf("\n-----------------\n")
Помогите найти ошибку. приложил: задание и что он выдает

Решение задачи: «Найти первые n членов последовательности и их сумму»

textual
Листинг программы
    double a, a1, a2, s;    // !!!
    int k, n; 
    
    printf("\nVvod ishodnyh dannyh:\n");
    printf("\n a1=");                       
    scanf("%lf", &a1);       // !!! %lf
    printf("\n a2=");                       
    scanf("%lf", &a2);       // !!! %lf
    printf("\n n=");                        
    scanf("%d", &n);        
    
    printf("\n-----------------");
    printf("\n  k     a     s ");
    printf("\n-----------------");
    
    s = 1.0/(sqrt(a2 + sqrt(a1)));    //скопащке + формула не та
                    
    for (k=1; k<=n; k++)
        {
            a = 1.0/(sqrt(a2 + sqrt(a1)));      // тоже самое
            s += a;     
            a1 = a2;
            a2 = a;
            
            printf("\n%3d   %3f   %3f", k, a, s);   // !!! %f  %f
        
        }
            
    printf("\n-----------------\n");
        
    return 0;
}

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

В этом коде:

  1. Объявлены переменные: double a, a1, a2, s; int k, n;
  2. Выводятся сообщения с просьбой ввести значения a1, a2 и n.
  3. Вычисляется значение s по формуле 1/sqrt(a2 + sqrt(a1)).
  4. Задается цикл, который будет выполняться n раз.
  5. Внутри цикла вычисляется значение a по формуле 1/sqrt(a2 + sqrt(a1)).
  6. К сумме s добавляется значение a.
  7. Значения a1 и a2 обновляются для следующей итерации цикла.
  8. Выводится сообщение с значениями k, a и s.
  9. После завершения цикла выводится сообщение ------------------.
  10. Возвращается 0, что означает успешное завершение программы. Обратите внимание, что в коде используются функции scanf и printf для ввода и вывода данных. Функция scanf используется для считывания введенных пользователем значений a1, a2 и n. Функция printf используется для вывода сообщений и значений k, a и s.

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


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

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

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