Олимпиадные задания по информатике. 7-11 класс


Примеры программ, выполняющих файловый ввод-вывод

 

Язык Паскаль

 

Var

c : Char;

s : String;

x : Integer;

Begin

Assign(input,'input.txt');

Reset(input);

Read(c); {ввод одного символа}

ReadLn(s); {ввод строки}

Read(x); {ввод числа}

Assign(output,'output.txt');

Rewrite(output);

Write(c); {вывод символа}

Write(s); {вывод строки}

Write(x); {вывод числа}

End.

 

 

Язык С/С++

 

#include

int main(void) {

char c,s[256]; int x;

freopen("input.txt","r",stdin);

scanf(”%c”,&c); //ввод одного символа

scanf(”%s”,s); //ввод строки

scanf("%d",&x); //ввод числа

freopen("output.txt","w",stdout);

printf("%c",c); //вывод символа

printf("%s",s); //вывод строки

printf("%d",x); //вывод числа

}

 

 

Язык Basic

 

OPEN "input.txt" FOR INPUT AS 1

OPEN "output.txt" FOR OUTPUT AS 2

REM ввод одного символа

c$ = INPUT$(1, #1)

REM ввод строки

INPUT #1, s$

REM ввод числа

INPUT #1, x

REM вывод символа

PRINT #2, c$

REM вывод строки

PRINT #2, s$

REM вывод числа

PRINT #2, x

END

 

Задача 1. «Цифры»

Имя файла: digits.dpr | digits.pas | digits.c | digits.cpp | digits.bas

Входной файл: input.txt

Выходной файл: output.txt

Ограничение по времени: 1 секунда

Ограничение по памяти: 64M байт

Максимальная оценка: 20 баллов

 

Запишем последовательно и без пробелов натуральные числа от 1 до N. Например, для N = 13 мы получим последовательность 12345678910111213. А теперь посчитаем, сколько раз каждая цифра входит в эту последовательность. Цифра 0 входит 1 раз, цифра 1 – 6 раз, цифра 2 – 2 раза и так далее.

Напишите программу, которая для заданного числа N будет находить количество вхождений в такую последовательность для всех цифр от 0 до 9.

Вход

Во входном файле записано натуральное число N (1 <= N <= 10000).

 

Выход

Запишите в выходной файл через пробел десять чисел – количество вхождений цифр 0, 1, …, 9 в получившуюся последовательность.

Примеры входа и выхода

input.txt

output.txt

3

0 1 1 1 0 0 0 0 0 0

13

1 6 2 2 1 1 1 1 1 1

 

Задача 2. «Олигархи»

Имя файла: olig.dpr | olig.pas | olig.c | olig.cpp | olig.bas

Входной файл: input.txt

Выходной файл: output.txt

Ограничение по времени: 1 секунда

Ограничение по памяти: 64M байт

Максимальная оценка: 20 баллов

 

Собрались как-то олигархи и стали хвастаться – у кого денег больше. Первый олигарх говорит – у меня одних долларов 100 миллиардов, а ещё евров 50 миллиардов, и рублей полно. Второй ему отвечает – подумаешь, кому сейчас твои доллары нужны, у меня вот британских фунтов стерлингов 76 миллиардов  с копейками, да тугрики монгольские, да динары алжирские... Тут все олигархи как закричат, как ногами затопают… и подрались, синяков друг другу наставили, а одному олигарху зуб выбили. А всё потому, что олигархи были глупые – надо было не кричать, и не драться, а спокойно пересчитать все их сбережения, непосильным трудом нажитые, в родные русские рубли, тогда сразу бы ясно стало, кто из них самый богатый.

Напишите программу, которая определяет самого богатого из олигархов.

Вход

В первой строке входного файла записаны натуральные числа N – количество олигархов и M - количество разных валют, в которых они хранят свои сбережения (2 <= N <= 1000, 1 <= M <= 100). Во второй строке записано M вещественных чисел – курсы валют по отношению к рублю. В остальных N строках записано по M целых чисел в каждой. j-е число в i-ой из этих строк равно количеству миллиардов в j-ой валюте у i-го олигарха.

 

Выход

Запишите в выходной файл номер самого богатого олигарха. Если таких олигархов несколько, запишите наименьший из номеров.

Примеры входа и выхода

input.txt

output.txt

2 1

1.0

100

101

2

3 4

1.0 36.350 25.943 48.021

100 15 25 0

200 40 0 0

150 0 30 25

3

 

Задача 3. «Коктейль»

Имя файла: cocktail.dpr | cocktail.pas | cocktail.c | cocktail.cpp | cocktail.bas

Входной файл: input.txt

Выходной файл: output.txt

Ограничение по времени: 1 секунда

Ограничение по памяти: 64M байт

Максимальная оценка: 20 баллов

 

Вася пригласил друзей на свой день рождения. Он хочет приготовить для них вкусный и оригинальный коктейль Вася знает, что вкус коктейля тем лучше, чем больше различных ингредиентов в него входит. Однако эксперименты показали, что иногда коктейль, приготовленный из отборных ингредиентов, оказывается отвратительным на вкус. Так, например, три литра коктейля, состоящего из мороженого, морковного сока, лимонада, вишнёвого сиропа, кетчупа и чая с мятой, пришлось просто вылить, даже не закончив дегустацию. Комбинируя экспериментальные и теоретические методы исследования, Вася установил, что некоторые ингредиенты, сами по себе превосходные, совершенно не сочетаются друг с другом, другие же образуют вполне съедобные смеси.

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

Вход

В первой строке входного файла записаны натуральные числа N – количество ингредиентов, имеющихся у Васи и M – количество пар не сочетающихся ингредиентов      (1 <= N <= 20, 0 <= M <= N*(N-1)/2). В остальных строках файла записано M пар чисел – номера не сочетающихся ингредиентов.

 

Выход

Запишите в выходной файл максимальное количество ингредиентов, из которых можно приготовить вкусный коктейль.

Примеры входа и выхода

input.txt

output.txt

3 3

1 2  2 3  1 3

1

10 0

10

5 2

4 2  5 1

3

 

Задача 4. «Последовательность»

Имя файла: sequence.dpr | sequence.pas | sequence.c | sequence.cpp | sequence.bas

Входной файл: input.txt

Выходной файл: output.txt

Ограничение по времени: 1 секунда

Ограничение по памяти: 64M байт

Максимальная оценка: 20 баллов

 

Бесконечная последовательность натуральных чисел A1, A2, … строится следующим образом: A1 - любое натуральное число, Ai+1 = Ai * K mod B, где K и B – натуральные числа, одни и те же для всех членов последовательности, mod – остаток от деления.

Ваша задача – для  заданных чисел A1, K, B и n найти число An.

 

Вход

Во входном файле записаны четыре целых числа    A1,    K,    B,    n (1 <= A1 <= 105, 1 <= K <= 104, 1 <= B <= 105, 1 <= n <= 109).

Выход

Запишите в выходной файл число An.

 

Примеры входа и выхода

input.txt

output.txt

3 7 10 1

3

3 7 10 3

7

3 7 10 10

1

3 7 10 1000000000

9

 

 

 

Написать комментарий

*

*

*
Защитный код
обновить