Дано натуральне число n та послідовність дійсних чисел a1, a2, …, an.
Знайти у заданій послідовності таке число, котре якомога наближене до
цілого числа.(На мові С)
Ответы
Ответ:
Для пошуку числа, яке найближче до цілого числа, можна використовувати такий підхід:
1. Створіть змінну найближче_ціле та початково присвойте їй перше число з послідовності a1.
2. Створіть змінну найближче_відстань та початково присвойте їй різницю між першим числом з послідовності a1 та його округленим значенням до найближчого цілого числа.
3. Пройдіться по всіх числах в послідовності a1, a2, ..., an.
4. Для кожного числа a, порівняйте різницю між ним та його округленим значенням до найближчого цілого числа з найближчою_відстанню.
5. Якщо різниця між поточним числом a та його округленим значенням менша за найближчу_відстань, оновіть найближчу_ціле відповідно до поточного числа a та оновіть найближчу_відстань відповідно до різниці.
6. Після проходу по всіх числах в послідовності, найближче_ціле буде містити число, яке найближче до цілого числа.
Отже, ось простий приклад коду на мові С, що реалізує цей підхід:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n;
float a, closest_integer, closest_distance;
printf("Введіть кількість чисел у послідовності: ");
scanf("%d", &n);
printf("Введіть числа у послідовності:\n");
scanf("%f", &a);
closest_integer = a; // Перше число буде найближчим до цілого за умови що воно є найменшою відстанню
closest_distance = fabs(a - round(a)); // Різниця між першим числом та його округленим значенням до найближчого цілого числа
for (int i = 1; i < n; i++) {
scanf("%f", &a);
float distance = fabs(a - round(a)); // Різниця між поточним числом a та його округленим значенням до найближчого цілого числа
if (distance < closest_distance) {
closest_integer = a;
closest_distance = distance;
}
}
printf("Число, яке найближче до цілого: %f\n", closest_integer);
return 0;
}
```
Цей код спочатку запитує кількість чисел у послідовності та саму послідовність чисел від користувача. Потім він проходиться по кожному числі у послідовності та порівнює його з попереднім найближчим числом до цілого. На виході він виводить число, яке найближче до цілого числа.