Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-11-22 | 212 |
5.00
из
|
Заказать работу |
|
|
Условие задачи: Карлсон на досуге занимается исследованием свойств чисел. Однажды ему захотелось узнать факториал числа 100. Напишите программу, помогающую Карлсону решить эту проблему для любого N (0<N<103).
Формат входных данных:
Исходный файл содержит одно число N.
Формат выходных данных:
В выходной файл вывести факториал заданного числа
Пример:
INPUT.TXT OUTPUT.TXT
50 30414093201713378043612608166064768844377641568960512000000000000
program Factorial;
type tlargenumber=record
number:array[1..3000]of byte;
power:word;
end;
var fact:tlargenumber;
n:word;
i:word;
f:text;
procedure product(n:word);
var temp:tlargenumber;
i,p:word;
procedure add(n:word;power:word);
var t,s,d,e:byte;
first:word;
begin
t:=n div 1000;
s:=(n mod 1000)div 100;
d:=(n mod 100)div 10;
e:=n mod 10;
first:=1+power;
inc(temp.number[first],e);
inc(temp.number[first+1],d+(temp.number[first]div 10));
temp.number[first]:=temp.number[first]mod 10;
inc(temp.number[first+2],s+(temp.number[first+1]div 10));
temp.number[first+1]:=temp.number[first+1]mod 10;
inc(temp.number[first+3],t+(temp.number[first+2]div 10));
temp.number[first+2]:=temp.number[first+2]mod 10;
inc(temp.number[first+4],temp.number[first+3]div 10);
temp.number[first+3]:=temp.number[first+3]mod 10;
end;
begin
for i:=1 to 3000 do temp.number[i]:=0;
temp.power:=0;
p:=fact.power;
for i:=0 to p do
add(fact.number[i+1]*n,i);
if temp.number[p+4]<>0 then temp.power:=p+4
else
if temp.number[p+3]<>0 then temp.power:=p+3
else
if temp.number[p+2]<>0 then temp.power:=p+2
else
if temp.number[p+1]<>0 then temp.power:=p+1
else
temp.power:=p;
fact:=temp;
end;
begin
assign(f,'in.txt');
reset(f);
read(f,n);
close(f);
fact.number[1]:=1;
fact.power:=1;
for i:=2 to n do
begin
product(i);
end;
assign(f,'out.txt');
rewrite(f);
for i:=fact.power downto 1 do write(f,fact.number[i]);
close(f);
end.
Тема: Сортировка и выбор
Условие задачи: Для игры в квидич используются мячи - снитчи. Проблема заключается в том, что они разного размера. Для проведения матча требуется выбрать снитч нужного веса. Перед началом матча все снитчи выстраиваются в ряд в порядке неубывания весов и Гарри Поттер должен как можно быстрее найти снитч с весом ровно Х кг или сообщить судье об отсутствии нужного мяча.
|
Формат входных данных:
В первой строке входного файла записаны через пробел два целых числа N и X. В следующих N строках записаны веса мячей в порядке неубывания (по одному числу в строке). Веса – целые числа, не превосходящие 100, 0<N£50000.
Формат выходных данных:
В выходной файл вывести номер снитча, имеющего вес X или число 0, если такого снитча нет.
Лимит времени: 1 секунда на тест.
Пример:
INPUT. TXT OUTPUT.TXT
5 3
9 2
Указания к решению. Очевидное решение состоит в просмотре всего ряда снитчей сначала до конца, что требует времени, пропорционального числу снитчей. Однако этот алгоритм не использует того факта, что веса снитчей уже отсортированы. Наилучший метод поиска состоит в том, чтобы проверить, стоит ли нужный мяч в середине ряда. Если да, то ответ получен. Если вес x меньше веса среднего снитча, то мы можем применить тот же метод поиска к отсортированному подряду слева от среднего элемента; аналогично, если x больше веса среднего мяча, то в дальнейшем мы будем рассматривать правую половину ряда.
Код возможного решения:
program tt;
const bl = 32;
type mass = array [1..bl] of integer;
var i, n, h, x: integer;
a: mass;
input, output: text;
function snwe (a: mass; st, n, x, h: integer): integer;
var i, br: integer;
begin
br:=round ((n-st)/2);
h:=br+st;
if (br = 0) then
begin
snwe:=0;
exit;
end;
if (a[h] = x) then
begin
snwe:=h;
end
else
begin
if (a[h] > x) then
begin
n:=n-br;
end
else
begin
st:=st+br;
end;
snwe:=snwe (a, st, n, x, h);
end;
end;
begin
assign (input, 'c:\input.txt');
assign (output, 'c:\output.txt');
filemode:=2;
reset (input);
rewrite (output);
read (input, n, x);
for i:=1 to n do
begin
read (input, a[i]);
end;
close (input);
write (output, snwe (a, 1, n, x, h));
close (output);
end.
Задача
Input file: input.txt
Output file: output.txt
В файле in.txt даны координаты трех вершин A,B и С на трех строках соответственно. Координаты в файле разделены пробелом.
Необходимо определить существует ли треугольник АВС с указанными координатами вершин. Если существует, то вывести в файл out.txt слово «exist», иначе – «do not exist».
INPUT.TXT | OUTPUT.TXT |
1 3 5 7 8 9 | exist |
Решение
Program triangle;
|
Var
i,xa,xb,xc,ya,yb,yc,xAB,xBC,yAB,yBC: integer;
AB,BC: real;
f1,f2: text;
Begin
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
read(f1,xa,ya);
readln(f1);
read(f1,xb,yb);
readln(f1);
read(f1,xc,yc);
readln(f1);
close(f1);
xAB:=xb-xa;
yAB:=yb-ya;
xBC:=xc-xb;
yBC:=yc-yb;
rewrite(f2);
if xAB/xBC <> yAB/yBC then writeln(f2,'exist')
else writeln(f2,'do not exist');
close(f2);
end.
Тема: Элементы лексического и синтаксического разбора
|
|
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!