Страница: 1 |
|
Вопрос: Зад. из районной олимп. по информ. 2009 (10е кл.)
|
Добавлено: 16.11.09 02:06
|
|
Автор вопроса:
|
Давненько я забросил своё VB, а тут вот пришлось вспоминать функции, синтаксис его и как меняется раскладка на компьютерах без Punto Switcher'а на олимпиадке. Так вот, рапортую. Выбор языков не удивил: Ни Java вам, ни C# - или VB (v.5, прослезился), или Turbo Pascal (прослезился++). Дано 6 банальноватых задач, решение которых, в основном, состоит в умении составлять циклы. Теперь, когда, видимо благодаря и вашим данным мне в своё время конструктивным ответам на мои малоразумные вопросы, занято первое место совместно с другим парнем, можно говорить, что не оказался удивлён ничем, кроме последней, наиболее лакомой по баллам, задачи. Возьму на себя труд привести подробнейший текст задачи F "Тест профессора".
(именно буква 'ф' а не 'ц' в последнем слове)
Имя входного файла: input.txt
Имя выходного файла: output.txt
Максимальное время работы на одном тесте: 2 секунды
Максимальный объём используемой памяти: 64 мегабайта
Для того чтобы проверить, как его студенты умеют считать, профессор каждый год задаёт им на дом одну и ту же задачу - для заданного натурального числа a найти минимальное натуральное число n такое, что n в квадрате делится на a. От года к году и от студенту к студенту меняется только число a.
Требуется помочь будущим поколениям и составить программу, решающую задачу профессора.
Формат входных данных
Входной файл input.txt содержит единственное целое число a (1 <= a <= 10^9).
Формат выходных данных
Выходной файл output.txt должен содержать единственное число n.
Пример входного и выходного файлов
input.txt output.txt
8 4
13 13
16 4
Ну, ессно, первое, что пришло в голову:
Private Sub Form_Load()
fileNum = FreeFile()
Open App.Path + "\input.txt" For Input As fileNum
Input #fileNum, a
Close fileNum
n = 1
a = Val(a)
While Not n * n Mod a = 0
n = n + 1
Wend
Open App.Path + "\output.txt" For Output As fileNum
Print #fileNum, n
Close fileNum
End
End Sub
Во-первых, зная некоторую часть посетителей сайта, надеюсь, что кому-то кажется, что я листаю книгу по одному листу с самого начала в поисках нужной главы, вместо того чтобы воспользоваться содержанием. А во-вторых, обратите внимание на это: 1 <= a <= 10^9. Разумеется, при a = 10^9 произойдёт Overflow. Даже на Currency при n=46341, как я смотрел уже дома.
Надеюсь, будет сказано что-то интересное.
Ответить
|
Страница: 1 |
Поиск по форуму