понеділок, 31 жовтня 2011 р.

3. Циклические алгоритмы


Сложно представить серьезную программу без циклов. Мы полагаем, что вы уже знакомы с циклами. В этом разделе будет рассмотрен ряд задач, для решения которых необходимо использовать циклы.
Напомним, что существуют три вида циклов:
  1. Оператор цикла с параметром
for i=1..n{
  Операторы; 
}
  1. Оператор цикла с предусловием
while(Условие){
  Операторы; 
}
  1. Оператор цикла с постусловием
do{
  Операторы; 
}while(Условие);
Список задач
Задача 1: Монетки (Время: 1 сек. Память: 16 Мб Сложность: 8%)
На столе лежат n монеток. Некоторые из них лежат вверх решкой, а некоторые – гербом. Определите минимальное число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной.

Входные данные. В первой строке входного файла INPUT.TXT записано натуральное число N (1 <= N <= 100) – число монеток. В каждой из последующих N строк содержится одно целое число – 1 если монетка лежит решкой вверх и 0 если вверх гербом.
Выходные данные. В выходной файл OUTPUT.TXT выведите минимальное количество монет, которые нужно перевернуть.
Пример
INPUT.TXT
OUTPUT.TXT
1
5
1
0
1
1
0
2
Задача 2: Арбузы (Время: 1 сек. Память: 16 Мб Сложность: 14%)
Иван Васильевич пришел на рынок и решил купить два арбуза: один для себя, а другой для тещи. Понятно, что для себя нужно выбрать арбуз потяжелей, а для тещи полегче. Но вот незадача: арбузов слишком много и он не знает как же выбрать самый легкий и самый тяжелый арбуз? Помогите ему!
Входные данные. В первой строке входного файла INPUT.TXT задано одно число N – количество арбузов. Вторая строка содержит N чисел, записанных через пробел. Здесь каждое число – это масса соответствующего арбуза. Все числа натуральные и не превышают 30000.
Выходные данные
В выходной файл OUTPUT.TXT нужно вывести два числа через пробел: массу арбуза, который Иван Васильевич купит теще и массу арбуза, который он купит себе.
Пример
INPUT.TXT
OUTPUT.TXT
1
5
5 1 6 5 9
1 9
Задача 3: Нули (Время: 1 сек. Память: 16 Мб Сложность: 16%)
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц.
Входные данные. В единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов). Суммарное количество цифр не превышает 100.
Выходные данные. В единственную строку выходного файла OUTPUT.TXT нужно вывести искомую длину цепочки нулей.
Пример
INPUT.TXT
OUTPUT.TXT
1
00101110000110
4
Задача 4: Загадка (Время: 1 сек. Память: 16 Мб Сложность: 18%)
Петя и Катя – брат и сестра. Петя – студент, а Катя – школьница. Петя помогает Кате по математике. Он задумывает два натуральных числа X и Y (X,Y≤1000), а Катя должна их отгадать. Для этого Петя делает две подсказки. Он называет сумму этих чисел S и их произведение P. Помогите Кате отгадать задуманные Петей числа.
Входные данные. Входной файл INPUT.TXT содержит два натуральных числа S и P, разделенных пробелом.
Выходные данные. В выходной файл OUTPUT.TXT выведите два числа Х и Y, загаданные Петей. Числа следует вывести в порядке неубывания своих значений, разделенные пробелом.
Примеры
INPUT.TXT
OUTPUT.TXT
1
4 4
2 2
2
5 6
2 3
Задача 5: Сумма (Время: 1 сек. Память: 16 Мб Сложность: 19%)
Требуется посчитать сумму целых чисел от 1 до N.
Входные данные. В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по абсолютной величине 104.
Выходные данные. Вединственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел от 1 до N.
Пример
INPUT.TXT
OUTPUT.TXT
1
5
15

Немає коментарів:

Дописати коментар