Олимпиада по программированию
Проснулся вчера утром от звонка моего друга. Он зная меня, сказал что у нас олимпиада по программированию. На олимпиаде были в приоритете Turbo Pascal, Delphi, C++. Я немного знал Паскаль, но мой основной и относительно небольшой опыт припадает на Блиц. Естественно у них на компах его не было. А я с собой его не взял. С момента начала олимпиады я минут 30-40 времени убил на поиск/закачку/установку блица, он ска еще и сначала не включался у них на семерке. А далее пошли задачи. Их было 6. Но я их точно не помню. Опишу только 5, а то одну уже забыл. Просто может кто захочет себя проверить:
Если возникнут какие то вопросы, или вы уже слышали о таких задачах и увидели ошибку в описании задачи, обязательно пишите, все выправим. В качестве ответа можете выкладывать исходники. Если кто захочет подсмотреть, так у него появится возможность... Задача 1: Написать функцию которая будет возвращать факториал числа N. Входное число N (0<=N<=100). Задача 2: Написать функцию "Сапер". В входном файле есть 2 числа М,N и матрица расположения бомб на карте. Где М и N размерность матрицы. На выходе функция должна вывести на экран обработанную матрицу, на которой в каждой ячейке стоит цифра обозначающая количество рядом стоящих бомб. Пример: Входной файл: 4 4 .... .*.. *... ..*. Вывод на экран обработанной вашей функцией матрицы: 1110 2*10 *321 12*1 (цвет в программе значения не имеет, это толька для описания на форуме.) Внимание!!! Есть кое что, что вам стоит знать, это сэкономит ваше время, а то я сначала этого не знал. Если в условии задачи сказано что входное число 0<=N<=100 это означает, что вам не стоит беспокоится об других вариантах. Вам не следует делать проверку, на случай если входными данными будут: N="Noob", N="15.684", N="-1" или N="101". Или например если в задаче сапер во входном файле будут ошибки. Считается что входная информация изначально правильная и подходит под данные условия задачи. П.с. Попробуйте воспользоваться вашей функцией факториала и введите в качестве проверки входное число 100. Она должна вывести верный ответ... Задача 3: Называется она: "3*N+1" Нужно написать функцию. В какой входное число N (где N>0) будет постоянно обрабатываться по принципу: Если число N- парное, то делить его на два. (N=N/2) Если число N- не парное, то умножать его на три и +1 (N=N*3+1) В итоге функция должна выводить количество итераций какие прошло число N когда оно стало равно единице. Задача 4: В входном файле есть НАТУРАЛЬНОЕ число, которое может уместить в себе до 1000 цифр. Нужно написать функцию, которая в єтом огромном числе ПЕРЕСТАВИТ (а тут проблема, я точно не помню одну или больше) цифру так, что выйдет число больше за данное, но оно будет наименьшим из всех возможных больших. (скорей всего одну цифру, но я думаю, что от єтого сложность задачи не уменьшится) Задача 5: За точность не ручаюсь, я ее вообще не сделал, не знал нужной терминологии. А именно, что такое Jolly Jumpers, но я нашел в интернете похожую задачу: Последовательность п > 0 целых чисел называется jolly jumper, если абсолютные значения разностей последовательных элементов принимают все возможные значения от 1 до п - 1. К примеру, 14 2 3 это jolly jumper, потому что абсолютные разности равны 3, 2 и 1 соответственно. Определение подразумевает, что любая последовательность из одного числа - это jolly jumper. Напишите программу, которая определяет, является ли каждая из введенных последовательностей jolly jumper. Входные данные: Каждая строка входных данных содержит число п < 3000, за которым следуют п целых чисел, представляющих собой последовательность. Выходные данные: Для каждой строки входных данных выведите строку, говорящую "Jolly" или "Not jolly"... |
Ответ: Олимпиада по программированию
Это олимпиада для 5тых классов?)
|
Ответ: Олимпиада по программированию
Таких задач over9000 в интернетах.
Ещё и по каталогам разбитые |
Ответ: Олимпиада по программированию
Поссоны!
Код:
Задача 2. (30 баллов) Пример загнал меня в глубокое непонимание. Присутствовал инструктор, спросил у него - он ничего полезного не ответил. |
Ответ: Олимпиада по программированию
Путь-то по видимому один, просто фишка проходит его различными комбинациями шагов разной длины.
|
Ответ: Олимпиада по программированию
Цитата:
|
Ответ: Олимпиада по программированию
Цитата:
И да, количество способов продвижения фишки n+1 будет равно сумме предыдущих k способов. |
Ответ: Олимпиада по программированию
Цитата:
radiobutton я был б рад увидеть хотя б 1-ю задачу в твоем исполнении...:-D |
Ответ: Олимпиада по программированию
а меня больше удивило, что тебе позволили юзать блиц. о_О
|
Ответ: Олимпиада по программированию
Цитата:
|
Ответ: Олимпиада по программированию
Цитата:
Код:
Graphics3D 1024,768 |
Ответ: Олимпиада по программированию
Цитата:
Цитата:
На счет того что написать функцию факториала сложно. Цитата:
Кроме того, как бы это не было, изначально я написал именно этот вариант::-D И кроме того! Цитата:
|
Ответ: Олимпиада по программированию
что-то я не знаю о факториали, или это вообще смешно:
Цитата:
Какие Len, какие работы со стрингами в коде выше?! |
Ответ: Олимпиада по программированию
Цитата:
|
Ответ: Олимпиада по программированию
Цитата:
откуда там столько кода? (лень разбирать код) |
Часовой пояс GMT +4, время: 09:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot