[Pascal] Олимпиада по информатикеПомогите с олимпиадой по информатике
#1
Отправлено 22.12.2006, 21:40:41
Заранее огромное Спасибо!
Вот вопросы:
1. Вводится числа от 9 до 9 до тех пор, пока не будет введен 0. Всего будет введено не больше 100 чисел. Посчитать количество единиц в этой последовательности, количество двое, количество троек и так далее (в выходном файле должно быть 9 чисел).
Имя входного файла: col.in Имя выходного файла: col.out
Пример
col.in col.out
1 1 4 1 5 8 6 3 5 1 0 4 0 1 1 2 1 0 1 0
2. С клавиатуры вводится строка символов (длина не превышает 100). Вывести на экран эту строку, преобразовав ее по следующему правилу:
- Символы на четных позициях остаются на своих местах;
- Символы на нечетных позициях меняют порядок вывода.
Имя входного файла: posled.in Имя выходного файла: posled.out
Пример
posled.in posled.out
1234 3214
3. По окончанию массового забега все его участники уложили свои нагрудные номера в один ряд в том порядке, в каком они пересекли финишную черту, образовав в результате К-значное число.
Требуется определить M (M<1000) количество участников забега по известному К. В случае невозможности определить количество участников вывести сообщение: ''net reshenija''.
Имя входного файла: input.txt Имя выходного файла: output.txt
Пример
posled.in posled.out
15 12
4. Дано число N. Найти из диапазона от 1 до N с максимальной суммой делителей (включая непростые делители, 1 и само число). Если таких чисел несколько, выведите любые из них.
Имя входного файла: max.in Имя выходного файла: max.out
Пример
max.in max.out
5 4
5. Дана последовательность из N (2<=N<= 100000) чисел. Найти количество различных чисел в этой последовательности, определить эти числа. Вывести их в порядок уменьшения количества встречаний их в данной последовательности.
Имя входного файла: pos.in Имя выходного файла: pos.out
Пример
pos.in pos.out
5 1 7 5 3 0
1
1
1
30
7
7
6. Матрица размерностью NxM (N ? количество строк, M ? количество столбцов, 2<=N и M<= 100000) заполнена числами от 1 до N*M, следующим образом: сначала заполняется первая строка слева направо от 1 до значения M (по возрастанию), затем вторая строка слева направо от M+1 до 2М, и так далее. По введенным параметрам матрицы и числу К, определить в какой строке и в каком столбце стоит данное число.
Имя входного файла: nomer.in Имя выходного файла: nomer.out
Пример
nomer.in nomer.out
4 4
4 3
15
#2
Отправлено 22.12.2006, 22:32:32
Забудьте про компьютеры вообще, настоящие программы пишутся без компьютеров. Только чистый листок бумаги, карандаш и резинка.Пожалуйста, помогите мне с олимпиадой по информатике. Дело в том, что я думал на олимпиаде будут вопросы связанные с основой ОС Windows, но не тут то было.
Я в 1990 году занял первое место в городской олимпиаде по информатике в г. Петропавловск (СКО). Так вот, учился я по книжке К. Боон "Паскаль для всех" (линк, 13Mb). Для практических занятий у меня был чудный такой микрокалькулятор Электроника МК-61 с 105 байтами (не кило, и не мега) оперативки и 16-тью регистрами. Я для него писал игры, и сам потом играл в них. Вечно памяти не хватало .Я Паскаль не знаю ... Я попытаюсь хотя бы основу Паскаля выучить за пол месяца.
На все вопросы нужно отвечать самому, на олимпиаде Вам никто не поможет.
#3
Отправлено 22.12.2006, 22:51:21
Спасибо за линк.Забудьте про компьютеры вообще, настоящие программы пишутся без компьютеров. Только чистый листок бумаги, карандаш и резинка.
Пожалуйста, помогите мне с олимпиадой по информатике. Дело в том, что я думал на олимпиаде будут вопросы связанные с основой ОС Windows, но не тут то было.Я в 1990 году занял первое место в городской олимпиаде по информатике в г. Петропавловск (СКО). Так вот, учился я по книжке К. Боон "Паскаль для всех" (линк, 13Mb). Для практических занятий у меня был чудный такой микрокалькулятор Электроника МК-61 с 105 байтами (не кило, и не мега) оперативки и 16-тью регистрами. Я для него писал игры, и сам потом играл в них. Вечно памяти не хватало .Я Паскаль не знаю ... Я попытаюсь хотя бы основу Паскаля выучить за пол месяца.
На все вопросы нужно отвечать самому, на олимпиаде Вам никто не поможет.
#7
Отправлено 23.12.2006, 13:59:25
В общем скажи свое мыло, отправлю кучу исходников, учебных программ и собственных идей.
По сути там они простенькие примеры, если вникнешь в их суть то думаю проблем не будет, сможешь разобраться с Паскалем.
#11
Отправлено 01.01.2007, 22:07:42
#12
Отправлено 01.01.2007, 22:36:33
1
var cols : array[1..9] of Longint; tek : Longint; begin assign(input,'col.in'); assign(output,'col.out'); reset(input); rewrite(output); fillchar(cols,sizeof(cols),0); read(tek); while (tek <> 0) do begin inc(cols[tek]); read(tek); end; for tek:=1 to 9 do write(cols[tek],' '); close(input); close(output); end.2
var s,sout : string; i : Longint; begin assign(input,'posled.in'); assign(output,'posled.out'); reset(input); rewrite(output); read(s); sout:=''; for i:=1 to length(s) do begin if i mod 2 = 0 then sout:=sout+s[i] else sout:=sout+s[length(s)-i+(length(s) mod 2)]; end; write(sout); close(input); close(output); end.3
var k,teklen,n : Longint; begin assign(input,'input.txt'); assign(output,'output.txt'); reset(input); rewrite(output); read(k); teklen:=0; n:=0; while k > teklen do begin inc(n); if n < 10 then inc(teklen) else begin if n < 100 then inc(teklen,2) else inc(teklen,3); end; end; if k = teklen then write(n) else write('net reshenija'); close(input); close(output); end.4
var max,maxc,i,n : Longint; function count(valu : Longint) : Longint; var tmax,j,teksum : Longint; begin tmax:=round(sqrt(valu))+2; if tmax >= valu then tmax:=valu-1; teksum:=valu; for j:=1 to tmax do if valu mod j = 0 then inc(teksum,j); count:=teksum; end; begin assign(input,'max.in'); assign(output,'max.out'); reset(input); rewrite(output); {net ogranichenii pisal tupo!!!} read(n); max:=0; maxc:=0; for i:=1 to n do if count(i) > maxc then begin maxc:=count(i); max:=i; end; write(max); close(input); close(output); end.6
var n,m,k : Longint; begin assign(input,'nomer.in'); assign(output,'nomer.out'); reset(input); rewrite(output); read(n,m,k); writeln((k-1) div m+1); if k mod m = 0 then write(m) else write(k mod m); close(input); close(output); end.
p.s. из компиляторов для паскаля на олимпиадах используют freepascal. Версия 2.0.2. Он очень глючный но к этому привыкаешь. И вообще в конце привыкаешь писать без ide (на олимпиадах). Найти google поможет! // сайт не помню
Сообщение отредактировал PNf: 01.01.2007, 22:39:13
#13
Отправлено 02.01.2007, 04:21:19
#18
Отправлено 11.01.2007, 12:07:24
Эх, где моя молодость?!
Кстати, по времени, скоро должны начаться республиканские олимпиады.
#19
Отправлено 11.01.2007, 21:07:34
Ранше было даже на городских олимпиадах, програмь на чем хочешь (бейсик, вижуалбейсик, си, паскаль, пофигу), лиж бы работало. Не думаю, что сейчас что то изменилось!
Эх, где моя молодость?!
Кстати, по времени, скоро должны начаться республиканские олимпиады.
Мне не давали СИ при всей моей настойивости. :-\
"Типа сиди тихо и не рыпайся, делай на том, что есть".
PS: Где-то в 2004 году в 165 олимпиада была тогда...
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0