Главная » 2016 » Февраль » 8 » Городская олимпиада по информатике 11 класс
07:58 Городская олимпиада по информатике 11 класс | |
Продолжительность олимпиады – 3 часа
Задание №1. (4 по 3 балла) Разгадать числовые ребусы, записанные в двоичной системе счисления: Задание №2. (5 баллов) Составьте алгоритм решения следующей задачи. Как набрать из реки 7 литров воды, если имеются сосуды ёмкостью 3 и 8 литров? Задание №3. «Digit» (максимальное количество – 15 баллов) В положительном целом трехзначном числе вычеркнуть цифру так, чтобы число, которое осталось, было наибольшим. Пример: Входной файл Digit.dat Выходной файл Digit.sol Пример 1 321 32 Пример 2 123 23 Задание № 4. «Кубики» (максимальное количество – 15 баллов) Кубик с ребром N см покрасили и разрезали на кубики с ребром 1 см. При этом появились такие, у которых окрашено разное количество граней. Например, если N = 3, то после разрезания будет 8 кубиков, у которых окрашено три грани, 12 с двумя гранями, 6 с одной, а один кубик будет совсем неокрашенный. Составьте программу, которая бы определяла, сколько кубиков с каждой возможным количеством окрашенных граней. Пояснение к заданию: С клавиатуры вводится целое число N (от 1 до 1292). На экран или форму выводятся различные варианты окрасок и их количества в формате: количество_окрашеных_граней/количество_кубиков в порядке возрастания первого параметра Пример: Входной файл Digit.dat Выходной файл Digit.sol 3 0/1 1/6 2/12 3/8 Задание № 5. «Каких остатков больше» (максимальное количество – 25 баллов) Для данного натурального числа N рассматриваются все остатки от деления N на меньшие его натуральные числа. Укажите остатки, которые встречаются наибольшее число раз. Пояснение к заданию: С клавиатуры вводится натуральное число N (2<=N<=1000) На экран выводится остаток, который встречается наибольшее число раз и частота его повторений. Пример: Данные Результат 3 0 1 1 1 19 1 5 Решения Задание № 1. (4 по 3 балла) Разгадать числовые ребусы, записанные в двоичной системе счисления: + 1 + 1 1 — 1 1 — 1 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 Задание №2. (5 баллов) I способ II способ 3 литра 8 литров 3 литра 8 литров 3 0 0 8 0 3 3 5 3 3 0 5 0 6 3 2 3 6 0 2 1 8 2 0 1 0 2 8 0 1 3 7 3 1 0 4 3 4 0 7 Задание №3. «Digit» (максимальное количество – 15 баллов) Решение на языке Паскаль: program z1; var x,a,b,c,n:integer; f,f1:text; begin write(' vvedite chislo '); assign (f, 'Digit.dat'); rewrite(f); readln(x); writeln(f,x); close(f); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; if (a < b) and (a < c) then N:=10*b+c else if (a > b) and (b < c) then N:=10*a+c else N:=10*a+b; assign(f1, 'Digit.sol'); rewrite(f1); writeln('N=',N); writeln(f1,N); close(f1) end. Задание № 4. «Кубики» (максимальное количество – 15 баллов) Решение на языке Паскаль: program cubes; uses crt; var x,x1,x2,x3,x0,y,z,k,n:integer; s:string; f,g:text; begin assign(f,'cubes.dat'); reset(f); readln(f,y); close(f) ; x3:=8; x1:=sqr(y-2)*6; x0:=(sqr(y-2))*(y-2); x2:=(y-2)*4*2+(y-2)*4; assign(g,'cubes.sol'); rewrite(g); writeln(g,'0/',x0,' 1/',x1,' 2/',x2,' 3/',x3); close(g); end. Задание № 5. «Каких остатков больше» (максимальное количество – 25 баллов) Решение на языке Паскаль: Uses crt; Var a:array [0..1000] of integer; I, n, k, max: integer; begin clrscr; radln (n); for i:= 0 to n-1 do a[i]^=0; max:=a[0]; for i:=1 to n-1 do begin k:=n mod I; a[k]:=a[k]+1; if a[k]> max then max:=a[k]; end; for i:=0 to n-1 do if a[i]=max then writeln(I,’ ‘,a[i]); readln; end.
| |
|