Перейти к содержимому

Фотография

[Pascal] Олимпиада по информатикеПомогите с олимпиадой по информатике


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 90

#1
123456

123456
  • Гость
  • 25 сообщений
Пожалуйста, помогите мне с олимпиадой по информатике. Дело в том, что я думал на олимпиаде будут вопросы связанные с основой ОС Windows, но не тут то было. Вопросы связаны с Паскалем. Я Паскаль не знаю (лучше бы были по Си). Завтра будет первый тур, а второй будет в середине января бедующего года. Я попытаюсь хотя бы основу Паскаля выучить за пол месяца. Люди, пожалуйста, ответьте хоть на сколько вопросов.
Заранее огромное Спасибо!

Вот вопросы:


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
  • 0

#2
Вася_Сторож

Вася_Сторож
  • Частый гость
  • 85 сообщений

Пожалуйста, помогите мне с олимпиадой по информатике. Дело в том, что я думал на олимпиаде будут вопросы связанные с основой ОС Windows, но не тут то было.

Забудьте про компьютеры вообще, настоящие программы пишутся без компьютеров. Только чистый листок бумаги, карандаш и резинка.

Я Паскаль не знаю ... Я попытаюсь хотя бы основу Паскаля выучить за пол месяца.

Я в 1990 году занял первое место в городской олимпиаде по информатике в г. Петропавловск (СКО). Так вот, учился я по книжке К. Боон "Паскаль для всех" (линк, 13Mb). Для практических занятий у меня был чудный такой микрокалькулятор Электроника МК-61 с 105 байтами (не кило, и не мега) оперативки и 16-тью регистрами. Я для него писал игры, и сам потом играл в них. Вечно памяти не хватало :D.
На все вопросы нужно отвечать самому, на олимпиаде Вам никто не поможет.
  • 0

#3
123456

123456
  • Гость
  • 25 сообщений


Пожалуйста, помогите мне с олимпиадой по информатике. Дело в том, что я думал на олимпиаде будут вопросы связанные с основой ОС Windows, но не тут то было.

Забудьте про компьютеры вообще, настоящие программы пишутся без компьютеров. Только чистый листок бумаги, карандаш и резинка.

Я Паскаль не знаю ... Я попытаюсь хотя бы основу Паскаля выучить за пол месяца.

Я в 1990 году занял первое место в городской олимпиаде по информатике в г. Петропавловск (СКО). Так вот, учился я по книжке К. Боон "Паскаль для всех" (линк, 13Mb). Для практических занятий у меня был чудный такой микрокалькулятор Электроника МК-61 с 105 байтами (не кило, и не мега) оперативки и 16-тью регистрами. Я для него писал игры, и сам потом играл в них. Вечно памяти не хватало :D.
На все вопросы нужно отвечать самому, на олимпиаде Вам никто не поможет.

Спасибо за линк.
  • 0

#4
yedyge

yedyge
  • Свой человек
  • 879 сообщений
хоть бы на си решил.
а паскаль выучить несложно.
если припрёт - переведёшь с си на пас.
но, похоже, такой же халявщик.
и на си решить не можешь тоже.
потому что эти задачки алгоритмические, а не на знание языка.
  • 0

#5
Вини

Вини
  • В доску свой
  • 2 542 сообщений

1. Вводится числа от 9 до 9

Очень интересно, а это как?
  • 0

#6
123456

123456
  • Гость
  • 25 сообщений


1. Вводится числа от 9 до 9

Очень интересно, а это как?

Извините, опечатка от 1 до 9.
  • 0

#7
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений
Кажется совсем недавно мы писали на Паскале, а что то уже плохо помню все примочки, да и не хочется возвращатся в эту рутину, захлеснуло ООП.
В общем скажи свое мыло, отправлю кучу исходников, учебных программ и собственных идей.

По сути там они простенькие примеры, если вникнешь в их суть то думаю проблем не будет, сможешь разобраться с Паскалем. :D
  • 0

#8
123456

123456
  • Гость
  • 25 сообщений

В общем скажи свое мыло, отправлю кучу исходников, учебных программ и собственных идей.
По сути там они простенькие примеры, если вникнешь в их суть то думаю проблем не будет, сможешь разобраться с Паскалем. :D

Спасибо, моё мыло - inbox.net@inbox.ru
  • 0

#9
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений
Незачто, в общем намылил, вес правда получился приличный, но надеюсь дойдут шустро. Если не получишь, скидывай на XIO@topmail.kz или XIO@mail.kz, заново вышлю.
  • 0

#10
megadeath

megadeath

    Фиона - не спать... )))

  • Читатель
  • 19 226 сообщений
Ну что, автор... Первый тур прошел?

#11
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Не хочу показаться голословным, но аввтор жжжот что называется. В олимпиадах, будь то по информатике, математике, физики и даже биологии проверяются в главной очереди мозги. Я как участник 2 международок по информатике это знаю :). Задачи к слову можно писать и на си. Но это абсолютно не критично. Главное понимать как задачу РЕШИТЬ, а не НАПИСАТЬ. К слову, алгоритмы которые реализуются на олимпиадах подчас выходят за грань 200 строчек. Но это не страшно - страшно когда алгоритм 30 строчек, а вот объяснение почему он работает включает в себя 2 леммы и 12 теорем. И это все на 20 страницах :) А так - удачи на олимпиаде!
  • 0

#12
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Вот решения, кроме 5 - там надо ограничения тебе уточнить - в каких пределах числа! Если что не понял спрашивай :) :
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

  • 0

#13
San_k

San_k
  • В доску свой
  • 1 509 сообщений
Тимур, freepascal.org :)

http://ips.ifmo.ru/main/
можно здесь почитать лекции.
  • 0

#14
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Вот те да :). Я же теперь на c++ перехожу! мне можно :)
  • 0

#15
resurected_timofei

resurected_timofei
  • Завсегдатай
  • 139 сообщений
Да не скажите! =) FreePascal - глоток свежего воздуха после Turbo Pascal/Borland Pascal. Хотя я не дельфин, не мне судить. =)
  • 0

#16
Anti-Xakep

Anti-Xakep
  • Частый гость
  • 70 сообщений
А у нас по олимпиаде был фибоначчи. Кто нибудь знает ? На паскале.
  • 0

#17
megadeath

megadeath

    Фиона - не спать... )))

  • Читатель
  • 19 226 сообщений
Сам был? :dandy:

#18
MaxZone

MaxZone
  • Завсегдатай
  • 256 сообщений
Ранше было даже на городских олимпиадах, програмь на чем хочешь (бейсик, вижуалбейсик, си, паскаль, пофигу), лиж бы работало. Не думаю, что сейчас что то изменилось!

Эх, где моя молодость?! :dandy:

Кстати, по времени, скоро должны начаться республиканские олимпиады.
  • 0

#19
resurected_timofei

resurected_timofei
  • Завсегдатай
  • 139 сообщений

Ранше было даже на городских олимпиадах, програмь на чем хочешь (бейсик, вижуалбейсик, си, паскаль, пофигу), лиж бы работало. Не думаю, что сейчас что то изменилось!

Эх, где моя молодость?! ;)

Кстати, по времени, скоро должны начаться республиканские олимпиады.


Мне не давали СИ при всей моей настойивости. :-\
"Типа сиди тихо и не рыпайся, делай на том, что есть".

PS: Где-то в 2004 году в 165 олимпиада была тогда...
  • 0

#20
yedyge

yedyge
  • Свой человек
  • 879 сообщений
надо претенденту свой фрикомпиллер притащить. вероятнее всего боятся копилефтов - паскаль офисиялный есть, а ц - неть %)
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.