Победители и призеры "баттлов"
Зимний семинар по пракическому программированию январь Все желающие
Отборочные потоки заданий на Международную олимпиаду по программированию 1 поток - январь 2 поток - февраль 3 поток - март Каждый поток заканчивается проведением "баттла" по скоростному программированию В отборочных потоках - все желающие В "баттлах" - учащиеся, набравшие необходимое количество баллов
Отборочные задания по созданию приложений для ОС Андроид один раз в 2 недели: январь, февраль, март Все желающие
Очередной тур Международной олимпиады по программированию на java апрель Победители и призеры "баттлов"
Смотр-конкурс приложений для ОС Андроид апрель Учащиеся, авторы приложений, набравших необходимое количество баллов.
Летний семинар по методике преподавания курса июль Все желающие
Роли пользователей сайта
×
Незарегистрированный пользователь - может просматривать материалы сайта, скачивать программное обеспечение
Статус-пользователь (статус присваивается при регистрации) - может решать отборочные задания, комментировать новости.
Статус-батллист (статус присваивается администратором) - может решать отборочные задания, комментировать новости, участвовать в батлле
Статус-олимпиец (статус присваивается администратором) - может решать отборочные задания, комментировать новости, участвовать в олимпиаде
Статус-учитель (статус присваивается администратором) - может решать отборочные задания, комментировать новости, проверять и комментировать решения своих учеников
Статус-ученик (статус присваивается администратором) - может решать отборочные задания, комментировать новости, решать задания курсов, которые будет проверять учитель, к которому он прикреплен
Специальный статус (статус присваивается администратором) - Статус позволяет принимать участие в дополнительных соревнованиях, мероприятиях, акциях
Курс Java 1
Программируем в консоли.
Задание 1. Написать класс, который принимает с клавиатуры целое число и подсчитывает сумму его цифр. Результат подсчета должен быть выведен на экран. Например, для числа 534 на экран будет выведено 12.
Задание 2. Написать класс, который принимает с клавиатуры целое число и подсчитывает количество нулей в этом числе. Результат подсчета надо вывести на экран.
Задание 3. Написать класс, который принимает с клавиатуры серию целых чисел – до тех пор, пока количество четных чисел в серии остается меньше 5.
Задание 4. Написать класс, который принимает с клавиатуры серию целых чисел – до тех пор, пока количество четных чисел на нечетных местах в серии остается меньше 5.
Задание 5. Написать класс, который принимает с клавиатуры целое число (для переменной х) и выводит на экран серию значений: х, х2, х3… хn – до тех пор, пока очередное значение остается меньше 1000.
Задание 6. Написать класс, который принимает с клавиатуры целое положительное число х. Класс должен определить наибольшее значение в серии 12+22+32+…, сумма которой не превышает х.
Задание 7. Написать класс, который принимает с клавиатуры целое положительное число и строит из него число с обратным порядком цифр. Новое значение следует вывести на экран.
Задание 8. Написать класс, который принимает с клавиатуры целое число и определяет, является ли оно точным квадратом целого числа.
Задание 9. Написать класс, который принимает с клавиатуры целое положительное число х. Класс должен найти наименьшее целое положительное двузначное число, сумма цифр которого равна х. Если такого двузначного числа не существует, следует вывести на экран соответствующее текстовое сообщение.
Задание 10. Написать класс, который находит наибольшее двузначное положительное число, которое делится на произведение своих цифр.
Задание 11. Написать класс, который принимает с клавиатуры целое положительное число и находит его наименьший делитель, отличный от 1.
Задание 12. Написать класс, который принимает с клавиатуры целое положительное число и находит его наибольший делитель, отличный от самого числа.
Задание 13. Написать класс, который принимает с клавиатуры два целых положительных числа х и y. Класс преобразует большее из них в меньшее следующим образом: • если преобразуемое число нечетное, оно уменьшается на 1; • если преобразуемое число четное, его делят на два. Класс должен выполнить преобразование большего числа к меньшему, указывая все промежуточные значения; следует указать и общее количество выполненных преобразований.
Задание 14. Последовательность Фибоначчи определяется как серия чисел, в которой первый и второй члены равны 1, а любой член, начиная с третьего, равен сумме двух предыдущих членов. Написать класс, который принимает с клавиатуры целое положительное число и проверяет, является ли оно членом последовательности Фибоначчи.
Задание 15. Наибольший общий делитель (НОД) двух целых положительных чисел можно определить по следующему методу: большее число уменьшается на значение меньшего до тех пор, пока числа не оказываются равными. Написать класс, который принимает с клавиатуры два целых положительных числа и определяет их НОД описанным методом.
Задание 1. Написать класс, который принимает с клавиатуры 10 целых чисел и выводит на экран количество положительных.
Задание 2. Написать класс, который принимает с клавиатуры 15 целых чисел и выводит на экран количество четных и количество нечетных чисел.
Задание 3. Написать класс, который принимает с клавиатуры 12 целых чисел и выводит на экран количество чисел, которые были больше, чем первое число.
Задание 4. Написать класс, который принимает с клавиатуры 17 целых чисел и выводит на экран количество чисел, которые были больше, чем предыдущее число.
Задание 5. Написать класс, который выводит все четные числа в диапазоне от -15 до 15.
Задание 6. Написать класс, который принимает с клавиатуры целое число и проверяет, на какое количество двузначных чисел оно делится. Результат проверки класс должен вывести на экран вместе с соответствующим текстовым сообщением.
Задание 7. Написать класс, который принимает с клавиатуры целое число х, а затем – серию из 29 дополнительных целых чисел (вводимых с клавиатуры). Класс должен определить, сколько чисел в серии были равны значению переменной х, а сколько – были меньше значения переменной х.
Задание 8. Написать класс, которые выводит на экран все целые положительные двузначные числа, в которых разница между первой (число десятков) и последней (число единиц) цифрами не превышает 3. Класс должен также подсчитать количество этих чисел и вывести результат на экран вместе с соответствующим текстовым сообщением.
Задание 9. Определим как «красивое» целое положительное трехзначное число x, для которого выполняется следующее условие: сумма квадратов первой и последней цифр равна квадрату средней цифры. Написать класс, который выводит на экран все «красивые» числа и их количество.
Задание 10. Контрольная работа считается «провальной», если более половины учеников получили неудовлетворительные оценки. Написать класс, который принимает с клавиатуры число учеников в группе, а затем – оценку каждого ученика. Класс должен определить, была ли контрольная «провальной».
Задание 11. Написать класс, который принимает целое число и проверяет, является ли оно кубом целого числа.
Задание 12. Написать класс, который принимает с клавиатуры положительное целое число и выводит на экран все его делители. Кроме того, класс должен определять количество и сумму делителей и выводить результаты на экран.
Задание 13. Назовем «базой положительного числа x» сумму всех положительных целых чисел, меньших x. Написать класс, который принимает с клавиатуры положительное целое число x и подсчитывает его «базу».
Задание 14. Определим как «удивительное» целое положительное число x, для которого выполняется следующее условие: сумма всех целых положительных чисел, меньших x и являющихся делителями x, равно x. Например, число 28 является «удивительным», потому что 1+2+4+7+14=28. Написать класс, который принимает в качестве параметра целое положительное число, проверяет, является ли оно «удивительным», и выводит на экран соответствующее текстовое сообщение.
Задание 15. Назовем «дважды четным» целое положительное число, если и оно само, и сумма его делителей – четные числа. Написать класс, который принимает с клавиатуры целое положительное число и проверяет, является ли оно «дважды четным».
Задание 16. Назовем «дважды делимым» целое положительное число, если и оно само, и сумма его делителей делятся (без остатка, разумеется) на количество делителей числа. Написать класс, который принимает с клавиатуры целое положительное число и проверяет, является ли оно «дважды делимым».
Задание 17. Два положительных целых числа называются «четно-близкими по сумме», если сумма их общих делителей является четным числом. Написать класс, который принимает с клавиатуры два целых положительных числа и проверяет, являются ли они «четно-близкими по сумме».
Задание 18. Назовем «степенью близости» двух целых положительных чисел сумму их общих делителей. Написать класс, который принимает с клавиатуры два целых положительных числа и определяет их «степень близости».
Задание 19. Написать класс, который принимает с клавиатуры оценки 30 учеников класса и выводит на экран: • среднюю арифметическую оценку класса; • число учеников, получивших неудовлетворительные оценки.
Задание 20. Написать класс, который принимает с клавиатуры оценки 30 учеников класса и выводит на экран:• среднюю арифметическую оценку учеников, получивших удовлетворительные оценки; • среднюю арифметическую оценку учеников, получивших неудовлетворительные оценки.
Задание 1. Написать класс, который генерирует и выводит на экран случайное целое чисел из диапазона положительных двузначных чисел.
Задание 2. Написать класс, который генерирует и выводит на экран два случайных целых числа из диапазона «однозначные»(включая и положительные, и отрицательные). После этого в отдельной строке класс должен вывести наибольшее из этих двух чисел – с соответствующим текстовым сообщением.
Задание 3. Написать класс, который генерирует и выводит на экран три случайных целых числа из диапазона «однозначные»(включая и положительные, и отрицательные). После этого в отдельной строке класс должен вывести наибольшее из этих двух чисел – с соответствующим текстовым сообщением, и в еще одной строке – наименьшее из этих двух чисел, тоже с соответствующим текстовым сообщением.
Задание 4. Написать класс, который принимает с клавиатуры целое положительное число, а затем генерирует три целых положительных числа, меньших первого.
Задание 5. Написать класс, который генерирует случайное положительное двузначное число, а затем генерирует три целых положительных числа, меньших первого.
Задание 6. Написать класс, который генерирует случайное положительное двузначное число, а затем генерирует три целых двузначных числа, не меньших первого.
Задание 7. Написать класс, который генерирует два случайных положительных двузначных числа, обозначающих границы некоторого интервала, а затем генерирует три целых положительных числа внутри данного интервала.
Задание 8. Написать класс, который принимает с клавиатурыцелое число и затем генерирует («придумывает») случайное число из следующего диапазона:• «центром диапазона» является введенное с клавиатуры число;• количество чисел в диапазоне равно 11. Класс должен определять, «угадал» ли компьютер введенное число, и выводить на экран одно из сообщений (в зависимости от соотношения введенного и «придуманного» чисел):• угадал – если числа совпали;• слишком большое – если «придуманное» компьютером число больше введенного с клавиатуры;• слишком маленькое – если «придуманное» компьютером число меньше введенного с клавиатуры.
Задание 9. Написать класс, представляющий версию игры из предыдущего задания – только в этом случае компьютер должен играть сам с собой, то есть и первое значение должно не вводиться с клавиатуры, а генерироваться классом.
Задание 10. Как известно, при игре в «двадцать одно» у каждой карты есть численное значение. Написать класс, который «выбрасывает три карты» (генерирует три случайных числа – в каких пределах?) и определяет, какой из вариантов (недобор, перебор,выигрыш) реализовался.
Задание 11. Написать класс, который повторяет предыдущее задание, но предоставляет игроку получить, если он того захочет, еще и четвертую карту. Это, например, можно сделать через ввод с клавиатуры значения, и если введено значение 1 (единица), то это означает согласие игрока на получение четвертой карты.
Задание 12. Написать класс, который создает и выводит на экран 5 случайных целых чисел, заканчивающихся на ноль и принадлежащих к диапазону двузначных чисел.
Задание 13. Написать класс, который генерирует и выводит на экран случайное число из диапазона от 250 до 746, а затем, в отдельных строках, наименьшую и наибольшую из цифр этого числа. Класс также должен проверить, были ли в генерированном числе одинаковые цифры, и вывести на экран соответствующее текстовое сообщение.
Задание 14. Написать класс, который генерирует и выводит на экран два случайных числа из диапазона от 17 до 94. Класс должен проверить, какое из двух чисел, первое или второе, было больше, и вывести на экран соответствующее текстовое сообщение. Кроме того, класс должен определить наименьшую цифру из всех, фигурирующих в этих числах, и вывести на экран соответствующее текстовое сообщение.
Задание 15. Написать класс, который генерирует длины сторон катетов прямоугольного треугольника так, чтобы длина катета не превышала 10,5 см. Класс должен подсчитать длину гипотенузы этого треугольника, его площадь и периметр и вывести их на экран. Затем эти вычисленные значения следует округлить и вывести результат на экран в отдельной строке – вместе с соответствующим текстовым сообщением.
Задание 1. Написать класс, который заполняет случайными четырехзначными числами массив, размер которого при инициализации вводится с клавиатуры. После заполнения класс должен вывести на экран значения массива в одной строке, начиная «с конца массива» (с последней ячейки).
Задание 2. Написать класс, который заполняет случайными трехзначными числами массив, размер которого при инициализации вводится с клавиатуры. После заполнения класс должен вывести на экран значения массива следующим образом:• в первой строке – первую половину массива;• во второй строке – вторую половину массива. В случае если массив имеет нечетный размер, центральную ячейку следует выводить в первой строке.
Задание 3. Написать класс, который заполняет случайными двузначными числами массив, размер которого при инициализации вводится с клавиатуры. После заполнения класс должен вывести на экран значения массива следующим образом:• в первой строке – значения из четных ячеек массива;• во второй строке – значения из нечетных ячеек массива.
Задание 4. Напишите класс, который заполняет случайными двузначными числами массив, размер которого при инициализации вводится с клавиатуры. После заполнения класс должен вывести на экран значения массива следующим образом:• в первой строке – четные значения, содержащиеся в массиве;• во второй строке – нечетные значения, содержащиеся в массиве.
Задание 5. Написать класс, который заполняет случайными трехзначными числами массив, размер которого при инициализации вводится с клавиатуры. После заполнения класс должен вывести на экран значения массива следующим образом:• в каждой строке выводятся значения из двух ячеек, симметрично расположенных по отношению к середине массива. В случае если массив имеет нечетный размер, центральную ячейку следует выводить в отдельной строке. Например, массив 345,455, 677, 175, 985 выводится на экран следующим образом:345 и 985455 и 175677.
Задание 6. Написать класс, который заполняет случайными двузначными числами массив, размер которого при инициализации вводится с клавиатуры. После заполнения класс должен вывести на экран значения массива следующим образом:• в первой строке – значения из первой половины массива, начиная «с начала»;• во второй строке – значения из второй половины массива, начиная «с конца».
Задание 7. Написать класс, который выводит на экран:• в первой строке – все четные двузначные числа;• во второй строке – двузначные числа, делящиеся на 3 без остатка;• в третьей строке – двузначные числа, делящиеся на 4 без остатка, и так далее.
Задание 8. Старинная задача: сколько можно купить быков и коров на 100 рублей, если плата за быка 10 рублей, за корову – 5 рублей. Написать класс, который выводит на экран все возможные варианты решения задачи.
Задание 9. Написать класс, который будет выводить на экран делители каждого числа от 1 до 75.
Задание 10. Написать класс для графического изображения делимости чисел от 1 до n (значение переменной n вводится с клавиатуры). В каждой строке надо вывести число и столько плюсов, сколько делителей у этого числа (считая и единицу, и само число). Например, если исходное данное – число 4, то на экран должно быть выведено: 1+2++3++4+++ .
Задание 11. Целое число называется «полноценным», если сумма делителей (включая 1, но не включая само число) числа равна самому числу. Написать класс, который выводит на экран все «полноценные» числа от 1 до 100 000.
Задание 12. Написать класс, который принимает с клавиатуры целое число, а затем проверяет, можно ли представить его в виде суммы квадратов двух целых чисел.
Задание 13. Напишите класс, который находит натуральное число от 1 до 10 000 с максимальной суммой делителей.
Задание 14. Два положительных трехзначных числа а и b называются «родственными», если сумма делителей числа а равна b, а сумма делителей числа b равна а. Например, это числа 220 и 284, так как сумма делителей 220 равна 284, а сумма делителей 284 равна 220. Написать класс, который принимает с клавиатуры положительное трехзначное число и ищет ближайшее к нему и большее него «родственное» число.
Задание 15. Написать класс, который выводит на экран все двузначные простые числа. Класс также должен определить количество и сумму этих чисел.
Задание 16. Написать класс, который выводит на экран все трехзначные простые числа. Класс также должен определить количество и сумму этих чисел.
Задание 17. Написать класс, который выводит на экран все положительные четные двузначные числа, сумма делителей которых тоже является четным числом.
Задание 18. Написать класс, который выводит на экран все простые двузначные числа, квадрат которых не превышает 999.
Задание 19. Написать класс, который принимает с клавиатуры целое положительное число и выводит все его делители, которые являются простыми числами.
Задание 20. Напишите класс, который выводит на экран построчно таблицу умножения:• в первой строке – умножение чисел от 1 до 9 на 1;• во второй – умножение на 2, и так далее до умножения чисел от 1 до 9 на 12.
Задание 1. Написать класс, который принимает строку и выводит на экран:• первый символ строки;• два первых символа;• три первых символа.
Задание 2. Написать класс, который читает с клавиатуры фамилий учеников и выводит на экран число учеников, чья фамилия начинается с буквы А или буквы Я.
Задание 3. Написать класс, который принимает с клавиатуры два строковых значения, каждое из которых содержит имя человека, и проверяет, являются ли эти люди тезками. По результатам проверки класс должен вывести на экран соответствующее сообщение.
Задание 4. Написать класс, который принимает с клавиатуры имя и фамилию человека, а затем проверяет, какое из этих данных содержит большее количество букв (или не содержат ли они одинаковое количество букв). По результатам проверки класс должен вывести на экран соответствующее сообщение.
Задание 5. Написать класс, который принимает с клавиатуры имя и фамилию человека и проверяет, начинаются ли они с одной и той же буквы или нет. По результатам проверки класс должен вывести на экран соответствующее сообщение.
Задание 6. Написать класс, который принимает с клавиатуры фамилию человека и проверяет, действительно ли она начинается и заканчивается на одну и ту же букву. По результатам проверки класс должен вывести на экран соответствующее сообщение.
Задание 7. Написать класс, который принимает строковое и символьное значения и подсчитывает, сколько раз символьное значение встречается в строковом значении. Найденный результат класс должен вывести на экран.
Задание 8. Написать класс, который принимает с клавиатуры имена и фамилии 15 человек. Класс должен подсчитать, у какого количества человек из этих 15-ти первая буква имени встречается в фамилии более одного раза. Полученный результат класс должен вывести на экран.
Задание 9. Написать класс, который принимает строку и выводит строку, составленную только из заглавных букв русского алфавита. Например, для строки АБвгде123ЖзИ метод возвратит АБЖИ.
Задание 10. Написать класс, который принимает строку и выводит новую строку, составленную из тех же символов, но в обратном порядке.
Задание 11. Написать класс, который принимает с клавиатуры строковое значение и определяет, является ли оно палиндромом(симметричным).
Задание 12. Написать класс, который принимает с клавиатуры серию строковых значений. Ввод значений прекращается, когда очередным значением будет «Финиш». Класс должен определить, какое количество значений в серии были палиндромами.
Задание 13. Написать класс, который принимает символ цифры (‘0’,’1’,…’9’). Класс должен вывести численное значение полученного параметра.
Задание 14. Написать класс, который принимает с клавиатуры строку, состоящую из букв, цифр и иных символов. Класс должен вывести на экран сумму всех цифр в строке. Например, для ввода a1b23c4%&50 класс должен вывести результат 1+2+3+4+5+0=15.
Задание 15. Напишите класс, который принимает с клавиатуры строку, состоящую из букв, цифр и иных символов. Класс должен вывести на экран сумму всех целых чисел в строке. Например, для ввода a1b23c4%&50 класс должен вывести результат 1+23+4+50=78.
Задание 1. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, кратное 5.
Задание 2. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 6.
Задание 3. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 4.
Задание 4. Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, кратное 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — минимальное число, кратное 3.
Задание 5. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 3.
Задание 6. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6.
Задание 7. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, кратное 4.
Задание 8. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — сумму чисел, оканчивающихся на 4.
Задание 9. Напишите программу, которая в последовательности натуральных чисел определяет определяет сумму всех чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.
Задание 1. Последовательность натуральных чисел характеризуется числом Х — наибольшим числом, кратным 14 и являющимся произведением двух элементов последовательности с различными номерами. Вам предлагаются два задания, связанные с этой задачей: задание А и задание Б. Вы можете решать оба задания А и Б или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание составляет 0 баллов. Задание Б является усложненным вариантом задания А, оно содержит дополнительные требования к программе.А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов.Перед программой укажите версию языка программирования. Обязательно укажите, что программа является решением задания А. Максимальная оценка за выполнение задания А – 2 балла. Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству элементов последовательности N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.Обязательно укажите, что программа является решением задания Б. Перед текстом программы кратко опишите используемый Вами алгоритм решения. На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. Пример входных данных: 5 40 1000 7 28 55 Пример выходных данных для приведённого выше примера входных данных: 28000
Задание 2. Дан набор из N целых положительных чисел. Из этих чисел формируются все возможные пары (парой считаются два элемента, которые находятся на разных местах в наборе, порядок чисел в паре не учитывается), в каждой паре вычисляются сумма и произведение элементов. Необходимо определить количество пар, у которых сумма нечётна, а произведение делится на 3. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом N. Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла. Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла. Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла. Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок. Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию. Описание входных и выходных данных. В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 100. Пример входных данных: 4 1 2 3 4 Пример выходных данных для приведённого выше примера входных данных: 2 Из четырёх чисел можно составить 6 пар. В данном случае условиям удовлетворяют две пары: (2, 3) и (3, 4). Суммы чисел в этих парах (5 и 7) нечётны, а произведения (6 и 12) делятся на 3. У всех остальных пар как минимум одно из этих условий не выполняется.
Задание 3. Дан набор из N целых положительных чисел. Из этих чисел формируются все возможные пары (парой считаются два элемента, которые находятся на разных местах в наборе, порядок чисел в паре не учитывается), в каждой паре вычисляется сумма элементов. Необходимо определить количество пар, для которых полученная сумма делится на 7. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N. Максимальная оценка за правильную (не содержащую синтаксическихошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, – 4 балла. Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, – 3 балла. Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла. Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок. Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию. Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000. Пример входных данных: 5 1 3 6 11 1 Пример выходных данных для приведённого выше примера входных данных: 3 Из 5 чисел можно составить 10 пар. В данном случае у трёх пар сумма делится на 7: 1 + 6, 1 + 6 (в наборе две единицы, поэтому пару 1 + 6 можно составить двумя способами), 3 + 11.
Задание 4. На плоскости задано множество точек с целочисленными координатами. Необходимо найти максимально возможную площадь невырожденного (то есть, имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на осях координат и при этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение. Напишите эффективную, в том числе по используемой памяти, программу для решения этой задачи. Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию. Входные данные В первой строке задаётся N – количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа – координаты очередной точки. Пример входных данных: 3 6 0 0 8 9 7 Выходные данные Если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует». Пример выходных данных для приведённого выше примера входных данных: 24
Задание 5. Дан набор из N неотрицательных целых чисел, меньших 1000. Для каждого числа вычисляется сумма цифр его десятичной записи. Необходимо определить, какая сумма цифр чаще всего встречается у чисел этого набора. Если таких сумм несколько, нужно вывести наименьшую из них. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом N. Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла. Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, — 3 балла. Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла. Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок. Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию. Описание входных и выходных данных: В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно неотрицательное число, меньшее 1000. Пример входных данных: 5 4 15 24 18 31 Пример выходных данных для приведённого примера входных данных: 4
Задание 1 Написать класс, который читает из файла 20 целых двузначных положительных чисел и выводит на экран число, сумма цифр которого была максимальной.
Задание 2 Написать класс, который читает из файла 15 целых трехзначных положительных чисел и выводит на экран число, сумма цифр которого была минимальной.
Задание 3 Написать класс, который читает из файла 24 целых трехзначных положительных чисел и выводит на экран порядковый номер самого большого из сгенерированных чисел.
Задание 4 Написать класс, который читает из файла 25 целых трехзначных положительных чисел и выводит на экран порядковый номер числа, сумма цифр которого была максимальной.
Задание 5 Серия случайных чисел называется "уравновешенной", если количество положительных и отрицательных чисел в серии – одинаково. Написать класс, который читает из файла 30 целых чисел и проверяет, является ли серия "уравновешенной". Результат необходимо записать в другой файл
Задание 6 Написать класс, который принимает с клавиатуры целое положительное число Х и выводит на экран все его делители (1 и само число Х не считать делителями). Класс должен также подсчитать количество этих делителей и записать их в выходной файл.
Задание 7 Написать класс, который принимает с клавиатуры целое положительное число и определяет, является ли оно простым. Класс должен записать в выходной файл соответствующее текстовое сообщение.
Задание 8 Два положительных целых числа называются "родственными", если у них есть одинаковое количество делителей. Написать класс, который принимает с клавиатуры два целых положительных числа, проверяет, являются ли они "родственными" и записывает в файл эти два числа и соответствующее текстовое сообщение.
Задание 8 Назовем "степенью родства" двух целых положительных чисел количество их общих делителей. Написать класс, который принимает с клавиатуры два целых положительных числа и определяет их "степень родства".
Установите на своем компьютере необходимое программное обеспечение, которое позволит заниматься разработкой на Java.
Наберите текст программы, который имеется в учебном материале.
Задание 1. Написать класс, который принимает число и выводит сообщение: Введено число ***. Тест Ввод: 4 Вывод: Введенное число 4
Задание 2. Написать класс, который выводит <<песочные часы>>, построенные из знаков <<*>>. Тест Ввод: нет Вывод: *** * ***
Задание 1. Написать класс, который принимает значение переменной а, а затем выводит на экран: в первой строке – это значение, во второй – квадрат этого значения, в третьей – куб этого значения. Тест Ввод: 4 Вывод: 4 16 64
Задание 2. Написать класс, который выполняет задание предыдущего задания, только вычисленные значения необходимо вывести с поясняющей надписью. Тест Ввод: 4 Вывод: Число 4 Квадрат 16 Куб 64
Задание 3. Написать класс, который принимает значения двух переменных, а затем выводит на экран: в первой строке – значения обеих переменных (с поясняющими надписями), во второй – произведение этих переменных (с поясняющей надписью), в третьей – сумму этих переменных (с поясняющей надписью). Тест Ввод: 4 3 Вывод: Числа 4 и 3 Произведение 12 Сумма 7
Задание 4. Написать класс, который принимает с клавиатуры целое число и выводит на экран число, на 27 больше числа, введенного с клавиатуры. Тест Ввод: 4 Вывод: 31
Задание 5. Написать класс, который принимает с клавиатуры целое число и выводит на экран новое число, большее числа, введенного с клавиатуры, в 6 раз. Тест Ввод: 4 Вывод: 24
Задание 6. Написать класс, который принимает с клавиатуры число учеников в классе и выводит на экран, сколько парт для них потребуется в классе (в отдельной строке) и число стульев для них. Тест Ввод: 13 Вывод: 7
Задание 7. Написать класс, который принимает с клавиатуры три числа и выводит эти числа сначала в строку, а затем в столбик. Тест Ввод: 4 6 7 Вывод: 4 6 7 4 6 7
Задание 8. Написать класс, который принимает четыре числа и выводит, отдельно в каждой строке, все возможные варианты расположения чисел относительно друг друга. Тест Ввод: 4 6 7 8 Вывод: 4 6 7 8 4 7 8 6 ......
Задание 9. Написать класс, который при приеме числа выводит информацию о том, что нужно ввести. Например, «Введите первое число».
Задание 1. Назовем «длиной числа» разницу между числом десятков (первая цифра) и числом единиц (вторая цифра). Написать класс, который принимает с клавиатуры двузначное число и выводит на экран «длину» этого числа.
Задание 2. Назовем «длиной числа» разницу между его первой( сотен) и последней (число единиц) цифрами, умноженную на его среднюю (число десятков) цифру. Написать класс, который принимает с клавиатуры целое положительное трехзначное число, вычисляет его «длину» и выводит результат на экран.
Задание 3. Назовем «степенью четности» числа количество четных цифр в нем. Например, для числа 4612 степень четности равна 3 (в его составе три четных цифры – 4, 6 и 2). Написать класс, который принимает с клавиатуры положительное двузначное число, а затем вычисляет и выводит на экран его «степень четности».
Задание 4. Написать класс, который принимает с клавиатуры положительное трехзначное число, а затем вычисляет и выводит на экран его «степень четности».
Задание 5. Написать класс, который принимает с клавиатуры положительное четырехзначное число, а затем вычисляет и выводит на экран его «степень четности».
Задание 6. Назовем «перестановкой» операцию над числом, при котором его первая и последняя цифры меняются местами. Например, из числа 1234 получается число 4231. Напишите программу, которая принимает с клавиатуры трехзначное число и строит из него новое число методом «перестановки».
Задание 7. Напишите программу, которая выполняет перестановку над четырехзначным числом.
Задание 8. Назовем «линейным сдвигом числа влево» операцию, при котором его цифры перемещаются на одну позицию влево (единицы – на место десятков, десятки – на место сотен, сотни – на место тысяч и так далее) – при этом первая цифра удаляется из числа, а на место единиц записывается ноль. Например, из числа 1234 после такой операции получается число 2340. Написать класс, который принимает с клавиатуры трехзначное число и строит новое число, полученное «линейным сдвигом влево».
Задание 9. Написать класс, который выполняет «линейный сдвиг влево» для четырехзначного числа.
Задание 1. Написать класс, который принимает с клавиатуры целое число и определяет, является оно положительным или нет, и выводит на экран одно из двух соответствующих результатам проверки сообщений: «Положительное число» и «Неположительное число».
Задание 2. Написать класс, который принимает с клавиатуры два числа и проверяет, равны они друг другу или нет.
Задание 3. Написать класс, который принимает с клавиатуры два числа, первое из которых – количество учеников в классе, а второе – количество стульев в классной комнате. Класс должен проверить, хватит ли мебели, и вывести сообщение об этом.
Задание 4. Написать класс, который принимает с клавиатуры два числа, первое из которых – количество учеников в классе, а второе – количество столов в классной комнате. Класс должен проверить, хватит ли мебели, и вывести сообщение об этом. Предполагается, что за столом могут сидеть два ученика.
Задание 5. Написать класс, который принимает с клавиатуры три числа: два первых должны быть длиной сторон катетов прямоугольного треугольника, а третье – длиной гипотенузы. Программа должна проверить, соответствуют ли введенные значения этому требованию. Допустимо предположить, что все вводимые числа – положительные.
Задание 6. Написать класс, который принимает с клавиатуры число и превращает его в положительное, если оно отрицательное, либо в ноль во всех остальных случаях.
Задание 7. Написать класс, который принимает с клавиатуры два числа: первое – количество учеников в классе, второе – количество стульев в классной комнате. Класс должен проверить соответствие между этими двумя значениями и вывести на экран соответствующую информацию (например, для значений 35 и 39 на экран выводится: «4 стула лишних»).
Задание 8. Написать класс, который принимает с клавиатуры оценку ученика (целое число) и проверяет, не является ли введенное значение ошибочным. На экран должно выводиться соответствующее текстовое сообщение.
Задание 9. Написать класс, который принимает с клавиатуры двузначное положительное число и проверяет, составлено ли оно из одинаковых цифр. В зависимости от результата проверки надо вывести на экран соответствующее текстовое сообщение.
Задание 10. Написать класс, который принимает с клавиатуры двузначное положительное число и проверяет, является ли в нем первая цифра (десятков) больше второй (единиц). В зависимости от результата проверки класс должен вывести на экран соответствующее текстовое сообщение.
Задание 11. Написать класс, который принимает с клавиатуры двузначное положительное число и проверяет, какая из его двух цифр является большей. В зависимости от результата проверки надо вывести на экран соответствующее текстовое сообщение. Не следует выводить на экран никакого сообщения, если число составлено из одинаковых цифр.
Задание 12. Трехзначное число называется «симметричным», если первая и последняя его цифры – одинаковы. Написать класс, который принимает с клавиатуры трехзначное положительное число и проверяет, является ли оно «симметричным». В зависимости от результата проверки класс должен вывести на экран соответствующее текстовое сообщение.
Задание 13. Трехзначное число называется «дважды четным», если и оно само, и сумма его цифр – четные. Напишите класс, который принимает с клавиатуры трехзначное положительное число и проверяет, является ли оно «дважды четным». В зависимости от результата проверки надо вывести на экран соответствующее текстовое сообщение.
Задание 14. Назовем «уровнем четности» числа количество четных цифр в его составе (например, степень четности для 2346 равна 3). Написать класс, который принимает с клавиатуры трехзначное положительное число и определяет, какова его «степень четности». В зависимости от результата проверки надо вывести на экран соответствующее текстовое сообщение.
Задание 15. Четырехзначное число называется «парно-симметричным», если две его первых цифры и две его последних цифры образуют одинаковые числа (например – 5252). Написать класс, который принимает с клавиатуры четырехзначное положительное число и определяет, является ли оно «парно-симметричным». В зависимости от результата проверки класс должен вывести на экран соответствующее текстовое сообщение.
Задание 16. Написать класс, который принимает с клавиатуры трехзначное положительное число и проверяет, содержится ли в нем хотя бы один ноль. В зависимости от результата проверки класс должен вывести на экран соответствующее текстовое сообщение.
Задание 17. Написать класс, который принимает с клавиатуры положительное целое число и выводит на экран ближайшее к нему «круглое число». Например, для введенного значения 433 выводится на экран 430, а для 56 выводится 60.
Задание 18. Напишите класс, который принимает с клавиатуры целое положительное число и изменяет его следующим образом: • для четного числа – увеличивает его до ближайшего «круглого» и выводит новое значение на экран вместе с сообщением «вверх до…»; • для нечетного числа – уменьшает его до ближайшего «круглого» и выводит новое значение на экран вместе с сообщением «вниз до…»; Например, для введенного значения 433 выводится на экран «вниз до 430», а для 56 выводится «вверх до 60»
Задание 19. Написать класс, который принимает с клавиатуры два целых числа и изменяет их следующим образом: • при разных значениях большее число уменьшается на 1, а меньшее – увеличивается на 1; • при одинаковых значениях чисел оба увеличиваются на 1. Класс должен вывести на экран новые значения переменных.
Задание 20. Написать класс, который принимает с клавиатуры целое трехзначное положительное число и изменяет его следующим образом: • для чисел, больших 500, – переставляет местами числа единиц и сотен (вместо 672 – 276); • в остальных числах переставляются местами числа десятков и единиц (вместо 363 – 336). Класс должен вывести на экран новое значение переменной.
Задание 21. Написать класс, который принимает с клавиатуры целое положительное число, и затем: • в случае, если введено четное число, – принимает с клавиатуры дробное число и выводит на экран произведение этих двух чисел; • в противном случае – принимает с клавиатуры целое число и выводит на экран сумму этих двух чисел.
Задание 22. Симметричным («палиндромом») называется число, которое дает одинаковое значение при чтении его справа налево и слева направо (например, 787). Написать класс, который принимает с клавиатуры положительное число (не большее 99999) и проверяет, является ли это число палиндромом. Класс должен вывести на экран соответствующее текстовое сообщение.
Задание 23. Написать класс, который принимает в качестве параметров два целых положительных числа и выводит на экран с дополнительным сообщением то из них, у которого наибольшая последняя цифра (число единиц). В случае, если такого числа нет, класс должен вывести на экран соответствующее сообщение.
Задание 24. Написать класс, который принимает с клавиатуры два целых положительных числа. Класс должен определить, могут ли эти числа быть числителем (первое) и знаменателем (второе) дроби. В случае если могут, класс должен определить, является ли эта дробь правильной, неправильной или же она выражает целое число, а также вывести на экран соответствующее текстовое сообщение. В случае если числа не могут выражать дробь, следует вывести на экран соответствующее объяснение.
Задание 25. Напишите класс, который принимает с клавиатуры две пары целых ненулевых чисел: первая пара является числителем и знаменателем одной дроби, вторая пара – числителем и знаменателем другой дроби. Класс должен проверить, равны ли эти дроби друг другу, и вывести на экран соответствующее текстовое сообщение.
Задание 26. Написать класс, который принимает с клавиатуры два целых числа. Класс должен определить, могут ли эти числа быть числителем (первое) и знаменателем (второе) дроби. В случае, если числа выражают неправильную дробь, следует вывести на экран соответствующую ей правильную сложную дробь, а во всех остальных случаях – текстовое сообщение «Подсчет не производится». Например, если с клавиатуры введены значения 7 и 12 – на экран выводится сообщение «Подсчет не производится»; если введены 12 и 7, то на экран выводится «1 5/7».
Задание 27. Написать класс, который принимает с клавиатуры трехзначное число и изменяет его следующим образом: • для четных чисел – все четные цифры увеличиваются на 1, а нечетные – уменьшаются на 1; в случае если это невозможно, то они остаются неизменными; • в нечетных числах все изменения производятся «наоборот». Класс должен вывести на экран новое значение переменной.
Задание 1. Написать класс, который принимает с клавиатуры три числа и проверяет, являются ли эти числа углами одного и того же треугольника. По результатам проверки класс должен вывести на экран соответствующее текстовое сообщение.
Задание 2. Напишите класс, который принимает с клавиатуры три числа и проверяет, являются ли эти числа длинами сторон одного и того же треугольника. По результатам проверки класс должен вывести на экран соответствующее текстовое сообщение.
Задание 3. Написать класс, который принимает с клавиатуры два положительных числа, которые должны быть длинами двух смежных сторон прямоугольника или квадрата. Класс должен определить, к какой из указанных двух фигур относятся введенные значения сторон.
Задание 4. Написать класс, который принимает с клавиатуры промежуток времени, выраженный в секундах (меньше 3600 с), и выводит на экран его же, но выраженный в минутах и секундах.
Задание 5. Написать класс, который принимает с клавиатуры временной интервал, выраженный в секундах (меньше 86400 с), и выводит на экран тот же интервал, но выраженный в часах, минутах и секундах.
Задание 6. В кассе имеются купюры достоинством 100, 50 и 10 рублей. Написать класс, который принимает с клавиатуры целое число, выражающее сумму в рублях, которую надо выплатить. Класс должен определить, каким минимальным набором купюр можно выдать введенную с клавиатуры сумму и какими купюрами. Если нет возможности выплатить указанную сумму, на экран следует вывести соответствующее текстовое сообщение.
Задание 7. Целое трехзначное число называется «дважды четным», если и сумма его цифр, и их произведение являются четными. Написать класс, который принимает с клавиатуры трехзначное положительное число и проверяет, является ли оно «дважды четным».
Задание 8. Целое трехзначное число называется «горой», если его средняя цифра больше крайних. Написать класс, который принимает с клавиатуры положительное трехзначное число и проверяет, является ли оно «горой».
Задание 9. Целое трехзначное число называется «ямой», если его средняя цифра меньше крайних. Написать класс, который принимает с клавиатуры положительное трехзначное число и проверяет, является ли оно «ямой».
Задание 10. Назовем двузначное число «внутренним» по отношению к четырехзначному числу, если какая-то пара смежных цифр в четырехзначном числе образует двузначное число. Написать класс, который принимает с клавиатуры два положительных числа, двузначное и четырехзначное, и проверяет, является ли двузначное «внутренним» по отношению к четырехзначному.
Задание 11. Написать класс, который принимает с клавиатуры два положительных числа, двузначное и четырехзначное, и проверяет, сколько раз двузначное число фигурирует как «внутреннее» по отношению к четырехзначному.
Задание 12. Написать класс, который принимает с клавиатуры положительное трехзначное число и проверяет, сколько одинаковых цифр оно содержит.
Задание 13. Написать класс, который принимает с клавиатуры положительное трехзначное число и проверяет, сколько разных цифр оно содержит.
Задание 14. Написать класс, который принимает с клавиатуры трехзначное число и проверяет, на какое число из составляющих его цифр оно делится (без остатка). Следует учесть возможность того, что одной из цифр в проверяемом числе может быть и 0.
Задание 15. Написать класс, который принимает с клавиатуры четырехзначное число, которое должно определять некоторый год в период с 16 по 20 век включительно. Класс должен вывести на экран либо сообщение, к которому веку из указанного диапазона относится введенное значение, либо текстовое сообщение, что введенное значение не является одним из годов из указанного диапазона.
Задание 16. Напишите класс, который принимает с клавиатуры четырехзначное число и проверяет, означает ли оно один из високосных годов 20 века.
|