Решение олимпиадных задач по информатике - Форум
SITE LOGO
Понедельник, 05/Декабрь/2016, 05:23
Приветствую Вас Гость | RSS
 
Главная Решение олимпиадных задач по информатике - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: trmk, ajgan 
Форум » Форум » Преподование информатики » Решение олимпиадных задач по информатике (Формы и методы подготовки учащихся к олимпиаде по информатик)
Решение олимпиадных задач по информатике
trmkДата: Четверг, 22/Январь/2009, 14:34 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 72
Статус: Offline
Для ознакомления прикрепляю архив в котором задания и решения прошлогодней 2008 г. районной олимпиады.
Прикрепления: 6-1.rar(30Kb)
 
AleksДата: Пятница, 23/Январь/2009, 19:15 | Сообщение # 2
Ветром занесенный
Группа: Проверенные
Сообщений: 2
Статус: Offline
Решения задач олимпиады 2009 от Курочка Марко

На окружности на равном расстоянии друг от друга отмечены N точек, пронумерованных против часовой стрелки целыми числами от 1 до N. Вам даны несколько пар хорд этой окружности, концами которых являются данные точки. Для каждой пары хорд определите, пересекаются ли они(касание необходимо считать пересечением)

program a;
var inp,OUT:text;
n:longint;
k,i:integer;
a1,b1,a2,b2:integer;
procedure prov(a1,a2,b1,b2:integer);
begin
if (a1=a2)or(a1=b2) then writeln(out,'YES') else
if (b1=a2)or(b1=b2) then writeln(out,'YES') else
if a1+2=b1 then writeln(out,'YES') else
writeln(out,'NO');
end;
begin
assign(inp,'a.in');reset(inp);
assign(out,'a.out');rewrite(out);
read(inp,n,k);
while not eof(inp) do begin
read(inp,a1);read(inp,b1);
read(inp,a2);read(inp,b2);
prov(a1,a2,b1,b2);
end;
close(inp);close(out);
end.

Положительное число А называется делителем числа В, если число В делится на А без остатка. Например, у числа 15 есть 4 делителя: 1, 3, 5, 15. Для каждого из заданных чисел вам необходимо определить, четно ли количество его делителей.
program B;
var inp,out:text;
i,n,d,q:integer;
o:array[1..100] of integer;
procedure dil(d:integer);
var j:integer;
begin
q:=0;
for j:=1 to d do
if d mod j = 0 then q:=q+1;
if q mod 2 = 0 then o[i]:=0 else o[i]:=1;
end;
begin
assign(inp,'b.in');reset(inp);
assign(out,'b.out');rewrite(out);
read(inp,n);
for i:=1 to n do begin
read(inp,d);
dil(d);
end;
for i:= 1 to n do
writeln(out,o[i]);
close(inp);close(out);
end.

Компьютер состоит из процессорного блока и монитора. На складе имеется N системных блоков и М мониторов. i-й блок стоит Аi тугриков, j-й монитор – Bj тугриков. Из-за мирового финансового кризиса, стоимость компьютера. В состав которого входит i-й системный блок и j-й монитор равна Ai *Bj (умножение) тугриков. Вам надо собрать наибольшее возможное количество компьютеров так, чтобы их суммарная стоимость была максимально возможной.
program c;
var inp,out:text;
n,m:integer;
a,b:array[1..1000] of integer;
q,i,j,e,w,t:integer;
mxa,max,mxb,mxi,mxj:integer;
begin
assign(inp,'c.in');reset(inp);
assign(out,'c.out');rewrite(out);
read(inp,n,m);
while not eof(inp) do begin
for i:=1 to n do begin
read(inp,e);a[i]:=e;
end;
for j:=1 to m do begin
read(inp,e);b[j]:=e;
end;end;
if n>m then q:=m else q:=n;
w:=q;
while q<>0 do begin
mxa:=a[1];
for i:=1 to n do begin
if a[i]>mxa then begin mxa:=a[i];mxi:=i;end;
end;
mxb:=b[1];
for j:=1 to m do begin
if b[j]>mxb then begin mxb:=b[j];mxj:=j;end;
end;
max:=max+(mxb*mxa);
a[mxi]:=0;b[mxj]:=0;q:=q-1;
end;
write(out,w,' ',max);
close(inp);Close(out);
end.

Для подготовки к экзамену преподаватель дал ученикам N вопросов. При этом он сказал, что для экзамена выберет из них А вопросов, а ученик, чтобы получить пятерку, должен ответить на В из этих А вопросов. Хитрый ученик не хочет учить все вопросы. Какое минимальное количество вопросов ему надо выучить, чтобы при любом раскладе он смог получить пятерку?
program d;
uses crt;
var inp,out:text;
n,a,b,o:integer;
begin
assign(inp,'d.in');reset(inp);
assign(out,'d.out');rewrite(out);
read(inp,n,a,b);
o:=(n-a)+b;
write(out,o);
close(inp);close(out);
end.

Вам даны целые числа А, В и С. Выведите остаток от деления Ав (А в степени В) на С. Обратите внимание:
(X*Y) mod Z = ((X mod Z)*(Y mod Z)) mod Z
(X+Y) mod Z = ((X mod Z)+(Y mod Z)) mod Z
program f;
uses crt;
var inp,out:text;
a,b,c,r,o:integer;
procedure step(a,b:integer);
var pi,p:integer;
begin
p:=a;
for pi:=1 to b-1 do
a:=a*p;
o:=A;
end;
begin
clrscr;
assign(inp,'f.in');reset(inp);
assign(out,'f.out');rewrite(out);
read(inp,a,b,c);
step(a,b);
r:=o mod c;
write(out,r);
close(inp);close(out);
end.

 
maryangelДата: Четверг, 12/Февраль/2009, 09:06 | Сообщение # 3
Ветром занесенный
Группа: Проверенные
Сообщений: 4
Статус: Offline
Доброго времени суток всем, хотела бы спросить по поводу конкурса "Алтын диск", более подробную информацию где можно найти?
 
dmsamoilov1992Дата: Суббота, 28/Май/2016, 15:16 | Сообщение # 4
Ветром занесенный
Группа: Пользователи
Сообщений: 1
Статус: Offline
Решение задач по информатике также можно заказать через этот сервис: 
https://author24.ru/reshenie-zadach-informatika/ 
Решают за считанные минуты. Так что, если застряли, то хороший вариант.
 
Форум » Форум » Преподование информатики » Решение олимпиадных задач по информатике (Формы и методы подготовки учащихся к олимпиаде по информатик)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016
Используются технологии uCoz