Показать сообщение отдельно
  #1 (permalink)  
Старый 04.09.2012, 14:16
Аватар для wawandas
Аспирант
Отправить личное сообщение для wawandas Посмотреть профиль Найти все сообщения от wawandas
 
Регистрация: 05.08.2012
Сообщений: 58

Логические задачи по циклам
Как и обещал выкладываю задачки по циклам, для развития логики и навыков работы с циклами


1
/*
1. Написать скрипт, который запрашивает 2 числа, начало и конец диапазона, и в результате выдаёт сумму всех нечетных чисел в этом диапазоне.
*/

2
/*
2. Найти факториал числа, у пользователя запрашивается число, и в результате выдаётся факториал числа,(если ввести к примеру 5 то результат должен быть равен 120, 
потому что факториал 5 это 5*4*3*2*1)
*/

3
/*
3. Найти последовательность Хэеса, то есть пользователь вводит число и в результате должно быть выдано сообщение, с самой последовательностью, количеством шагов, 
которое понадобилось для нахождения этой последовательности, и вершиной последовательности, это максимальное число из этой последовательности. Последовательность 
Хэеса считается так: если ввели число 9, то проверяем его, если оно чётное, делим на 2, если нечетное, умножаем на 3 и прибавляем 1, и так до тех пор пока число не 
будет равно 1.


9*3+1=28
28/2=14
14/2=7
7*3+1=22
22/2=11
11*3+1=34
34/2=17
17*3+1=52
52/2=26
26/2=13
13*3+1=40
40/2=20
20/2=10
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1

Резкльтат:
Последовательность: 9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Шагов 19
Вершина 52
*/

4
/*
4.Пользователь вводит подряд 20 разных чисел(ввод осуществляется всех чисел только в 1 переменную),нужно посчитать сколько было инверсий. Пример:
5 2 5 3 6 4 8 9 2 4 1 6 8 5 4 7 9 7 1 5 = 9 инверсий, к примеру 5 2 - это инверсия то есть то число которое стоит слева больше того числа которое справа.
*/

5
/*
5.Пользователь вводит диапазон нужно вывести на экран все простые числа из этого диапазона. Простыми числами называются числа, которые имеют всего 2 делителя, то есть 
делятся только на 1 и на самого себя! Пример простых чисел: 3,5,7,11,13,17,...

1. Посчитать сумму нечётных элементов массива.
2. Найти сумму элементов массива, элементы которого находятся между крайними отрицательными значениями.
3. Поменять местами элементы массива попарно.
4. Добавить отрицательный элемент массива в случайную позицию в массиве, затем слева от отрицательного элемента , отсортировать элементы по возрастанию, не затрагивая сам отрицательный элемент, а справа по убыванию, так же не затрагивая отрицательный элемент.
5. Посчитать в строке сколько букв, цифр и других символов.
6. Есть массив строк, найти в этом массиве самую короткую строку.
*/

6
/*
6. Дано произвольное целое число n. Написать программу, которая
разбивает число n на цифры и выводит их на экран;
подсчитывает сколько цифр в числе n;
находит сумму цифр числа n;
меняет порядок цифр числа n на обратный.
Пример: ввожу число 123
цифр в числе = 3
сумма = 6(это значение получили следующим образом 1+2+3)
обратный порядок = 321
*/


решения можно кидать прям сюда, для всеобщего обсуждения и возможных оптимизаций решений. Всем спасибо за внимание
Ответить с цитированием