![]() |
Модераторы: Alx, Fixin |
![]() ![]() ![]() |
|
Антоха |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.11.2006 Где: Новосибирск Репутация: нет Всего: нет |
Извените если не там создал тему, но ничего более подходящего не нашёл. Предлагаю здесь писать интересные математические и пр. задачи для нахождения их решения с помощью разных языков программирования(пишите решения здесь, на том языке который Вам ближе). И предлагаю закрепить эту тему, т.к. мне кажется особенно для начинающих программистов очень полезно поломать голову впринципе не над сложными задачками, для развития мышления. А может ктото просто просматривая решения в этой теме чтото новое поймёт для себя. Извините если бонально, но я сам начинающий программист и мне кажется такие задачки помогают тренировать свои мозги
![]() Ну раз я создал тему я и начну: Задача №1: Бутылка с пробкой стоит 11 копеек. Бутылка на 10 копеек дороже пробки. Сколько стоит пробка? Я сделал эту задачку на VBA:
Задача №2(посложнее): Два города А и В находятся на расстоянии 300 км друг от друга.Из этих городов одновременно выезжают друг другу навстречу 2 велосипедиста и едут,не останавливаясь, cо скоростью 50 км/ч.Вместе с первым велосипедистом из города А вылетела муха, пролетающая в час 100 км.Муха опережает первого велосипедиста,летит навстречу второму. Встретив его,она сразу поварачивает назад к первому.Повстречав его,опять летит обратно навстречу велосипедисту В,и так продолжалось до тех пор пока велосипедисты не встретились. Сколько километров пролетела муха? Пока решаю... Ждём Ваших задачек ![]() |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: нет Всего: 60 |
Задача№1
а чего так сложно? Пробка = (11 - 10)/2 Добавлено @ 00:47
|
|||
|
||||
Антоха |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.11.2006 Где: Новосибирск Репутация: нет Всего: нет |
Ты прав! Но не я не сразу до этого додумался например, и мне интересней чем считать это написать код, надо ведь с малого начинать чтобы мозги расшивеливать ![]() Ещё задача: Запишем треугольником числа (в n-й строке стоит n чисел n): 1 2 2 3 3 3 4 4 4 4 ... Теперь выписываем их в строку сверху вниз, получаем: 1 2 2 3 3 3 4 4 4 4 .... Какое число стоит на К-ом месте? К-произвольно введённое пользователем число. |
|||
|
||||
Dude03 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.4.2006 Репутация: нет Всего: 6 |
Вроде бы вот так
Это сообщение отредактировал(а) Dude03 - 17.11.2006, 11:08 |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Антоха, молодец, поток полезный
![]() Вот вам еще задачка ![]() Дано три кувшина 10, 7 и 3 литра. Первый полностью заполнен молоком ... Пользуясь только этими тремя кувшинами разделить молоко пополам. |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: нет Всего: 60 |
Прежде чем бросаться программировать, задачу нужно тщательно продумать. |
|||
|
||||
Антоха |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.11.2006 Где: Новосибирск Репутация: нет Всего: нет |
Не понял маленько. Т.е. добиться чтобы в первом кувшине осталось 5 литров?! Или чтобы в каждом было ровно по половине?
Хороший совет, спасибо, так и буду делать. Не судите строго, ведь учусь только. А к советам всегда прислушиваюсь! Вот ещё задачка: Несколько кружков разных размеров уложены друг на друга, образуя башню. Башня стоит на одном из трех полей. Задача- переставить ее на другое поле. ![]() Но просто переставлять башню неинтересно-никакой задачи тут нет. Чтобы задание было не таким простым, нужны какике-то правила. Вот они: 1). Кружки переставляются с одного поля на другое, при этом их укладывают друг на друга, так что получаются маленькие башни. Нельзя откладывать кружки в сторону или ставить один кружок вместо другого. 2).При каждом ходе двигается только один кружок. Нельзя переносить несколько кружков одновременно. 3).Нельзя брать кружок из середины башни. 4) Запрещено класть больший кружок на меньший. |
||||
|
|||||
Антоха |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.11.2006 Где: Новосибирск Репутация: нет Всего: нет |
Квадратный корень
Ограничение времени: 1.0 секунды Ограничение памяти: 16 МБ Число x называется квадратным корнем числа a по модулю n (root (a, n)) тогда и только тогда когда x * x = a (mod n) Напишите программу, которая находит все значения квадратных корней числа a по модулю n. Исходные данные В первой строке находится одно число K – количество тестов (K <= 100000). Каждая следующая строка представляет собой отдельный тест, который содержит два числа – a и n (a, n – натуральные, 1 <= a, n <= 32767, n простое, a и n – взаимно простые). Результат Для каждого теста программа должна вычислить все возможные значения root (a, n) в диапазоне (0,n-1) и вывести их в возрастающем порядке в одной строке, разделяя одним пробелом. Если для текущего теста корней не существует, программа должна вывести в отдельной строке сообщение ‘No root’. Пример исходных данных 5 4 17 3 7 2 7 14 31 10007 20011 Пример результата 2 15 No root 3 4 13 18 5382 14629 |
|||
|
||||
Антоха |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.11.2006 Где: Новосибирск Репутация: нет Всего: нет |
Когда Вито Маретти пишет важное письмо, он его шифрует. Не очень надежным методом, но достаточным для того, чтобы ни один детектив не понял ни слова. Шефу полиции такое положение дел очень не нравится. Он хочет взломать шифр Вито и обещает забыть о всех Ваших грехах, если Вы сделаете это для него. Детективы расскажут Вам, как устроен шифр.
В шифре каждое слово шифруется отдельно. Рассмотрим шифрование на примере слов, состоящих только из строчных латинских букв. В начале каждая буква заменяется соответствующим ей числом: a на 0, b на 1, c на 2, ..., z на 25. После этого к первому числу добавляется 5, ко второму числу добавляется первое число, к третьему — второе и т.д. После этого если какое-то число превосходит 25, то оно заменяется остатком от деления этого числа на 26. И, наконец, числа обратно заменяются буквами. Зашифруем слово secret: Шаг 0. s e c r e t Шаг 1. 18 4 2 17 4 19 Шаг 2. 23 27 29 46 50 69 Шаг 3. 23 1 3 20 24 17 Шаг 4. x b d u y r В итоге получилось слово xbduyr. Исходные данные Дано зашифрованное слово, состоящее из строчных латинских букв, длиной не более 100 символов. Результат Выведите исходное слово. Пример исходных данных xbduyr Пример результата secret Это сообщение отредактировал(а) Антоха - 27.11.2006, 00:13 |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Математика: n-ая цифра начинается с n(n-1)/2 +1 месте (можете проверить) Осталось в целых числах решить неравенство: n(n-1)/2 +1 <= k < n(n+1)/2 +1 Решаем и получаем, что n принадлежит [(-1 + sqrt(1+8k))/2 ; (1 + sqrt(1+8k))/2) |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 4 Всего: 401 |
Велосипедисты сближаются со скоростью 100 км/ч (терминаторы, не иначе;), поэтому встретятся они через 300/100 = 3 часа после старта, стало быть, муха, вне зависимости от ее траектории, налетает к этому моменту 3*100 = 300 км. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
AligatorV |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Ученые астрономы, сообщили правительство, что ровно через T секунд на
планете Олимпиада начнется метеоритный дождь. Правительство планеты срочно начало эвакуацию людей и важного оборудования - телескопических установок. Для защиты телескопу его нужно транспортировать в специально отведенное место - хранилище. В одном хранилище может вместиться лишь один телескоп. Необходимо рассчитать максимальное количество телескопов которые можно успеть спрятать к началу метеоритного дождя. Входные данные (файл METEOR.DAT): В первой строке число T - количество секунд через которую метеориты упадут на планету. Во второй строке число N - количество телескопов. В третьей строке находится 2*N чисел - координаты телескопов (x, в) В четвертой строке число M - количество хранилищ. В пятой строке находится 2*M чисел - координаты хранилищ (x, в) В шестой строке число V - скорость транспортировки телескопов. Примечание: 0<T<1000000 ; 0<N,M<100 ; -30000 <= x,y <=30000 ; 0<V<1000 T, N, M, x, в - цели. Выходные даны: (файл METEOR.SOL): В единственную строку файла записать максимальное количество телескопов, которые могут быть спрятанные к началу падения метеоритов. Пример METEOR.DAT: 10 4 1 7 3 7 5 7 100 100 2 2 7 4 7 0.1 Пример METEOR.SOL: 2 |
|||
|
||||
AligatorV |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Взрывное устройство, которое было заложено неизвестным террористом, имеет N - лампочек, и M - переключателей.
Каждый переключатель изменяет состояние некоторых лампочек на противоположный. Для обезвреживания бомбы, необходимо выключить все лампочки. Напишите программу, которая спасет мир. Входные данные: (файл BOMBA.DAT): В первой строке число N. (0<N<=100) Во второй строке содержится N чисел, которые помечают состояние каждой лампочки (0 - выключенная, 1 - включенная). В третьей строке содержится число M. (0<M<=100) В каждом из следующих M строк содержится число K (количество лампочек состояние которых изменяет данный переключатель) и K чисел - номера соответствующих лампочек. Выходные даны: (файл BOMBA.SOL): Если бомбу обезвредить невозможно, запишите в исходный файл "NO" (без кавычек). Если возможно спасти мир, то в первую строку запишите "YES" (без кавычек), а во вторую строку запишите номера переключателей которые необходимо задействовать. Пример BOMBA.DAT: 5 0 1 1 0 1 4 3 2 3 4 3 1 4 5 2 4 5 2 2 4 |
|||
|
||||
korob2001 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Извиняюсь, я тут немного измеил условие, не в свою пользу. Только прозьба не обижаться, я не хочу никого обидеть, особенно автора этой задачи, очень интересная задача. Я лишь попытался усовершенствовать как условие, так и решение.
1. Отказался от данных первой и третьей строки, так как счёл их лишними. Насколько я понял, то первая строка содержит кол-во перключателей, что легко вычесляется программно таким образом:
но и это не понадобилось, для решения данной задачи. 2. Если третий параметр - это общее кол-во вариантов разминирования, то это тоже не нужный параметр, так как код ниже пометит предложением - YES, все варианты которые подошли для разминирования, не в зависимости от того, насколько много варинтов в файле, пусть даже 50GB и никогда не убъёт оперативную память, лишь бы хватило дискового пространства. 3. Что бы не уничтожать данные в файле, я решил сохранять результаты в отдельный файл, с таким же именем + окончание ".temp", т.е. "bomba.dat.temp". Если кому-то понадобится всёже перезаписывать исходный файл "bomba.dat", достаточно раскоментировать последние 2 строки. Мой файл "bomba.dat" выглядет так:
где первая строка - это переключатели бомбы, а все остальные (их может быть сколько угодно) - предлагаемые варианты разминирования. Вот код:
Здесь так же обрабатываются ошибки, потому код выглядит немного объёмным. PS: На выходе у меня получился такой результат:
Это сообщение отредактировал(а) korob2001 - 6.12.2006, 03:37 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||
|
|||||||||
Baltazar5000 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 6.12.2006 Репутация: нет Всего: нет |
!!!ПРОГРАММА НА C++!!!
Найти наименьший номер элемента последовательности, для которого выполняется условие b < E. Вывести на экран этот номер и все элементы, где i=1,2,3,...n. a(энное)=(a(энное)-1)/(n^2+1) b=/a(энное)-a(энное-1)/ a(1)=5.1 E=10^-7 !!!!!Решить, используя циклы While или For или Do while или все вместе!!!!! !!!ПРОГРАММА НА C++!!! Срочно помогите написать. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |