Задачи на числовые списки в Python: 1. Дано целое число N (> 0). Сформировать и вывести целочисленный список размера N, содержащий N первых положительных нечетных чисел: 1, 3, 5, ….
2. Дано целое число N (> 0). Сформировать и вывести целочисленный список размера N, содержащий степени двойки от первой до N-й: 2, 4, 8, 16, ….
3. Дано целое число N (> 1), а также первый член A и разность D арифметической прогрессии. Сформировать и вывести список размера N, содержащий N первых членов данной прогрессии: A, A + D, A + 2·D, A + 3·D, ….
Объяснение:
Анализ содержаний следовых количеств тяжелых металлов традиционными физико-химическими методами (атомная абсорбция, полярография, фотометрия и др.) требует предварительной пробоподготовки, т.к. металлы в большинстве объектов находятся в связанном состоянии. Они образуют достаточно прочные органические комплексы, мешающие точному и воспроизводимому определению их содержания. Поэтому перед любым анализом необходимо предварительно разрушить органическую составляющую пробы.
При подготовке проб к анализу методами ААС, ИСП-МС и ИСП-АЭС наибольшее развитие получило мокрое озоление проб различными кислотами при СВЧ-поля под давлением (СВЧ-минерализации под давлением).
Процесс минерализации проходит следующим образом: разлагаемая проба и окислительные реагенты помещаются в специальный сосуд из радиопрозрачного химически инертного материала (стекло, кварц, фторопласт), сосуд при необходимости герметично закрывается, переносится в микроволновую систему и реакционная смесь нагревается в СВЧ поле. При этом суммарное время пробоподготовки сокращается в десятки и сотни раз.
32760+9 можно записать как 32767+2. Это позволит избежать перевода 32760 в двоичную систему счисления, а 32767 - это 15 двоичных единиц. В знаковом разряде, конечно же, ноль.
После сложения в знаковом разряде появляется единица, что означает наличие отрицательного числа в дополнительном коде. Знаковый разряд мы не трогаем, а остальные инвертируем и арифметически прибавляем к полученному числу единицу. Тем самым переходим к прямому коду, который переводим в десятичную систему представления. И результат, конечно, же, будет со знаком минус, т.е. -32767. Вот к чему приводит переполнение разрядной сетки в целочисленной арифметике. Кстати, аппаратно оно не обнаруживается, поскольку криминала нет - просто +1 переходит в самый старший (левый) разряд. "Железо" ведь не знает, сколько разрядов мы отвели под представление чисел и как биты нужно рассматривать! Соответствующая картинка находится в первом вложении.
2. В восьмибитной арифметике все происходит аналогично. 127 представляется знаковым нулем и семью единицами в остальных разрядах, т.е. 01111111₂. Тройка - это 0..011₂
Складываем и получаем 10000010₂. Опять знаковый разряд единичный, инвертируем остальные: 11111101. А теперь прибавляем единицу и получаем 11111110₂. Числу 1111110₂ (знаковый разряд мы не учитываем) соответствует 126₁₀, а с учетом знака окончательно получаем -126.
3. Тут немного больше нужно повозиться. Арифметика снова 16-битная, диапазон представления чисел -32768..32767.
Выпишем факториалы в пределах этого диапазона и одно значение вне его. 1!=1, 2!=2, 3!=6, 4!=24, 5"=120, 6!=720, 7!=5040, 8!=40320.
Делаем вывод, что максимальное значение факториала можно вычислить для n=7 и n!=5040. Тогда n+1=8 и при его вычислении у нас возникнет арифметическое переполнение. Переведем число 5040 в двоичную систему и умножим его на 8, поскольку 8! = 7! × 8. Поскольку 8 = 2³, то умножение на 8 в двоичной системе равносильно сдвигу числа влево на три разряда. Подробности приведены на рисунке во втором вложении. Мы получим "странный" результат: 8! = -25216.