Найти первые 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;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные: double a, a1, a2, s; int k, n;
- Выводятся сообщения с просьбой ввести значения a1, a2 и n.
- Вычисляется значение s по формуле 1/sqrt(a2 + sqrt(a1)).
- Задается цикл, который будет выполняться n раз.
- Внутри цикла вычисляется значение a по формуле 1/sqrt(a2 + sqrt(a1)).
- К сумме s добавляется значение a.
- Значения a1 и a2 обновляются для следующей итерации цикла.
- Выводится сообщение с значениями k, a и s.
- После завершения цикла выводится сообщение ------------------.
- Возвращается 0, что означает успешное завершение программы. Обратите внимание, что в коде используются функции scanf и printf для ввода и вывода данных. Функция scanf используется для считывания введенных пользователем значений a1, a2 и n. Функция printf используется для вывода сообщений и значений k, a и s.