1) используя numpy, создадим список с метода arange, позволяющего делать range нецелочисленным. Далее просто суммируем получившийся список (для суммы можно импортировать fsum из библиотеки math, а можно воспользоваться и стандартной sum)
2) исходя из определения арифметической прогрессии:
нам известен первый член (0.5), разность (1), последний член (99.5), а также количество членов прогрессии. Просто посчитаем по формуле.
3) с цикла вычислим все то же самое. Будем постепенно прибавлять к сумме увеличивающийся на 1 первый элемент.
Рассмотрим три решения
Объяснение:
Попробуем тремя :
1) используя numpy, создадим список с метода arange, позволяющего делать range нецелочисленным. Далее просто суммируем получившийся список (для суммы можно импортировать fsum из библиотеки math, а можно воспользоваться и стандартной sum)
2) исходя из определения арифметической прогрессии:
нам известен первый член (0.5), разность (1), последний член (99.5), а также количество членов прогрессии. Просто посчитаем по формуле.
3) с цикла вычислим все то же самое. Будем постепенно прибавлять к сумме увеличивающийся на 1 первый элемент.
Как видим, все три работают одинаково верно.
Написал на том, что было под рукой: 1C
Если Квартира > ЭтажейВДоме * КвартирНаЭтаже Тогда
Сообщить("Нет такой квартиры в доме, мало этажей!");
ИначеЕсли Квартира <= КвартирНаЭтаже Тогда
Сообщить("Живет на первом этаже");
Иначе
ЖиветНа = Цел(Квартира / КвартирНаЭтаже);
ОстатокЭт = Квартира%КвартирНаЭтаже;
Если ОстатокЭт>0 Тогда //
ЖиветНа = ЖиветНа+1;
КонецЕсли;
Если ЖиветНа%2=0 И ЖиветНа=ЭтажейВДоме Тогда // это четный и последний
ВыходитьНа = ЖиветНа-1;
ИначеЕсли ЖиветНа%2=0 Тогда // четный в НЕчетный этаж
ВыходитьНа = ЖиветНа+1;
Иначе
ВыходитьНа = ЖиветНа;
КонецЕсли;
Сообщить(" Выйдет на: "+ВыходитьНа);
КонецЕсли;