Давайте разберем задачу пошагово и поймем, как мы можем её решить.
Задача
У нас есть число \( N \), которое обозначает количество действительных чисел, и далее идут \( N \) действительных чисел. Необходимо создать и вывести массив чисел, у которых дробная часть меньше, чем дробная часть последнего числа из данного массива. Числа в новом массиве должны сохранять порядок их появления в исходном массиве.
Пошаговое решение
Ввод данных:
- Сначала мы считываем количество чисел \( N \).
- Затем считываем \( N \) действительных чисел и сохраняем их в массив.
Определение дробной части последнего числа:
- Извлекаем последнее число из массива.
- Вычисляем дробную часть последнего числа. Это можно сделать, вычтя целую часть числа из самого числа.
Формирование нового массива:
- Создаем пустой массив для хранения подходящих чисел.
- Проходим по всем числам в оригинальном массиве и проверяем их дробные части.
- Если дробная часть числа меньше, чем дробная часть последнего числа, добавляем его в новый массив.
Вывод результата:
- Выводим новый массив.
Реализация на Python
Теперь, рассмотрим пример кода на Python, который выполняет описанные шаги:
# Чтение количества чисел
N = int(input())
# Чтение массивов
numbers = []
for _ in range(N):
number = float(input())
numbers.append(number)
# Получаем дробную часть последнего числа
last_number = numbers[-1]
fraction_last = last_number - int(last_number)
# Создаем новый массив
result = []
for number in numbers:
fraction = number - int(number)
if fraction < fraction_last:
result.append(number)
# Вывод результата
print(result)
Пример работы кода
Рассмотрим случай, когда вводим следующее:
6
3.14
-9.00001
2.71828
3.099999
0.18
13.4
Число \( N = 6 \).
Вводимые числа:
[3.14, -9.00001, 2.71828, 3.099999, 0.18, 13.4].Последнее число —
13.4, его дробная часть0.4.Проверяем дробные части всех чисел:
- Для
3.14: дробная часть0.14<0.4— добавляем. - Для
-9.00001: дробная часть0.99999<0.4— добавляем. - Для
2.71828: дробная часть0.71828<0.4— не добавляем. - Для
3.099999: дробная часть0.099999<0.4— добавляем. - Для
0.18: дробная часть0.18<0.4— добавляем. - Для
13.4: дробная часть0.4<0.4— не добавляем.
- Для
В итоге получим массив:
[3.14, -9.00001, 3.099999, 0.18].
Таким образом, мы получили правильный результат [3.14, -9.00001, 3.099999, 0.18], который соответствует вашему примеру.