Найти сумму n-элементов ряда 1, -0.5, 0.25, -0.125, ... (Python)

2013-12-13 21:30

Дан ряд чисел 1, -0.5, 0.25, -0.125, ... Требуется найти сумму стольких его элементов, сколько указал пользователь. Например, если n = 3, то надо сложить 1, -0.5, 0.25, что в результате даст 0.75.

При решении таких задач сначала необходимо определить, в чем заключается особенность предложенного ряда. В данном случае видим, что каждый последующий элемент в 2 раза меньше предыдущего по модулю, но взят с противоположным знаком. Далее следует найти арифметическое действие, которое из...далее

Определить количество введенных простых чисел (Python)

2013-12-13 09:52

Определить количество простых чисел введенных пользователем.

Алгоритм решения задачи:

  1. Пока не будет введено число меньшее или равное 1 (т.к. простым числом может быть только натуральное число большее единицы) будем выполнять нижеследующие действия.
  2. Установим флаговую переменную в значение True.
  3. Проверим число на простоту путем деления на него всех целых чисел от 2 до корня из него (почему именно до корня см. математику).
  4. Если...далее
Заменить в самом длинном слове строки определенные буквы (Python)

2013-12-11 11:51

Допустим, дана строка слов, разделенных пробелами. Необходимо найти в ней самое длинное слово и заменить в нем буквы 'a' на буквы 'b'.

Сразу следует оговорить, что в отличие, скажем от Pascal, в Python строки неизменяемы. Т.е. в Питоне изменить символы в строке в принципе нельзя. Поэтому есть только один выход: сформировать новую измененую строку, или просто заменять определенные символы при выводе их на экран. Выберем первый путь.

Сформировать новую строку также можно двумя...далее

Проверка гипотезы Сиракуз (Python)

2013-12-10 12:03

Гипотеза Сиракуз гласит, что любое натуральное число сводимо к единице при следующих действиях над ним: а) если число четное, то разделить его пополам, б) если нечетное - умножить на 3, прибавить 1 и результат разделить на 2. Над вновь полученным числом вновь повторить действия a) или б) в зависимости от его четности. Рано или поздно число станет равным 1.

Напишем программу, проверяющую гипотезу Сиракуз. Пусть пользователь вводит любое натуральное число. Будем выполнять в цикле над...далее

Заменить три последних символа у слов, больших определенной длины (Python)

2013-12-09 15:46

Дан массив слов. Требуется заменить последние три символа слов, имеющих определенную длину, на символ $.

Если длина очередного слова больше определенной длины, то взять срез от начала слова и до конца, но без трех последних символов и присоединить к этому срезу символ $. Далее следует заменить в массиве старую строку на полученную.

Выражение words[i][0:-3] означает, что из массива-списка сначала "берется" очередная строка, а далее из нее берется указанный срез.

...далее

Определить длину самого короткого слова в строке (Python)

2013-12-09 14:52

В заданной строке найти самое короткое слово. Слова могут быть разделены пробелами, несколькими пробелами, знаками препинания.

Алгоритм решения задачи:

  1. Длина очередного слова будет храниться в переменной w. Вначале присвоим этой переменно 0, т. к. в строке слов может вообще не быть.
  2. Длина самого короткого слова будет записана в переменной min_w. Вначале этой переменной присваивается максимально возможная длина слова. Самое длинное слово может...далее
Найти все возможные корни уравнения вида ax + by + cz = d (Python)

2013-12-08 11:51

Возьмем, например, такое уравнение: 5x + 10y + 15z = 100. Какие значения должны иметь переменные x, y, z, чтобы уравнение было верным (т. е. каковы корни уравнения)? Они могут быть такими: x = 1, y = 8, z = 1. Или такими: x = 4, y = 2, z = 4. Становится понятно, что корней у подобных уравнений может быть множество.

Требуется написать программу, выводящую на экран все возможные корни уравнения вида ax + by + cz = d, где a, b, c, d - коэффициенты (известны), а x, y, z - переменные (...далее

Записать в последний элемент строки матрицы, сумму предыдущих той же строки (Python)

2013-12-05 11:48

В матрице заменить последний элемент каждой строки на сумму предыдущих элементов той же строки.

Алгоритм решения основной части задачи (только сложение и замена):

  1. Для каждой строки присвоить переменной summa значение 0, индексу элемента (i) также значение 0.
  2. Пока индекс элемента не дошел до последнего элемента строки, увеличивать значение summa на значение очередного элемента строки матрицы.
  3. Иначе (когда индекс элемента указывает на...далее