Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
*/


решения можно кидать прям сюда, для всеобщего обсуждения и возможных оптимизаций решений. Всем спасибо за внимание
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2012, 14:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,223

Интересно...
Кроме "математических" примеров больше фантазия не у кого не идет?

Сообщение от wawandas
выкладываю задачки по циклам
Такие задачки есть в любом учебнике и любой лабораторной методичке, любой препод тебе их на память расскажет... Т.е. они практически все "букварские"... У кого собрался развивать логику?
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2012, 16:08
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

wawandas,
как сказал ksa - букварские задачки - простые, но мне в лом делать
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2012, 16:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,223

Сообщение от Dim@
мне в лом делать
Потому как букварские...
Ответить с цитированием
  #5 (permalink)  
Старый 04.09.2012, 16:31
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

3
(function (){
var x = prompt("Введите число", "10");
x -= 0;
if (((x + "") == "NaN") || (x <= 0)) return;
for (var i = verh = 0, pos = new Array(); true; ++i){
 if (i == 0) pos.push(x);
 if (x % 2 == 0) x /= 2;
 else x = x * 3 + 1;
 if (x > verh) verh = x;
 pos.push(x);
 if (x == 1) break;
}
alert("Результат:\nПоследовательность: " + 
pos.join(" ") + 
"\nШагов: " + (i + 2) + 
"\nВершина: " + verh);
})();

Последний раз редактировалось Dim@, 04.09.2012 в 16:36.
Ответить с цитированием
  #6 (permalink)  
Старый 04.09.2012, 16:32
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

ksa,
да не не совсем - мне 3 понравилась, но она тоже ппц легкая
Ответить с цитированием
  #7 (permalink)  
Старый 04.09.2012, 16:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,223

Если есть у кого-то желание действительно начать развиваться...
Вот мои задачки по циклам:
1. Охота на лис
Цитата:
Цель игры состоит в том, чтобы как можно быстрее найти всех лис на игровом поле.
Игровое поле состоит из массива 10Х10. В нем случайным образом генерится 5 лис (лиса - определяется парой [X,Y]).
Игрок имеет возможность открыть любую клетку, щелкнув ее левой кнопкой мыши. Если в клетке находится лиса, то она показывается.
Если лисы нет, в клетке появится цифра, которая указывает, сколько лис находится "по пеленгу" (на горизонтали, вертикали и диагоналях клетки).
Игра заканчивается после поимки всех лис.
2. Морской бой
Цитата:
Думаю что правила в него известны
Для обоих игр можно реализовать варианты:
человек - человек
человек - комп
комп - комп
Ответить с цитированием
  #8 (permalink)  
Старый 04.09.2012, 16:42
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

ksa,
это уже на развитие DOOOOOOOOOOOOOOOOOOOM-а
Ответить с цитированием
  #9 (permalink)  
Старый 04.09.2012, 16:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,223

Dim@, там и циклов будет навалом...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить алгоритм и программу для решения следующей задачи. Даны два массива X (5), rjabijj Общие вопросы Javascript 2 05.07.2012 22:02
Нужно решить две не сложных задачи eropov Работа 1 23.06.2012 17:09
Задачи по яваскрип Ridjie Учебные материалы 6 26.09.2011 18:15
Подходит ли Javascript для решения следующей задачи? alikol Оффтопик 4 24.10.2010 22:40
подскажите структуру осуществления задачи bobri4 jQuery 1 23.04.2009 18:26