Олимпиадные задания по информатике 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

(function(){