//Функция для вычисления целочисленного среднего значения 2-х целых чисел:
static int average(int first_number, int second_number)
{
return ((first_number + second_number) / 2);
}
// Конец функции
}
}
Перегрузка функции
В примере заданы две разные функции с одним и тем же именем average. Такой прием называется перегрузкой. Какую именно функцию применить, компилятор решает по дополнительным признакам. В данном случае это число аргументов функции.
Передача массива в функцию
// Вычисление суммы элементов массива
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Program5._4
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[] { 3, 5, 7, 9, 11, 13, 15 }; //Присвоение начальных значений
int s = sum(7, a);
Console.WriteLine(s);
Console.ReadKey();
}
static int sum (int n, int []a)
{
int s = 0;
for (int i = 0; i < n; i++)
s = s + a[i];
return s;
}
}
}
75. Расстояние между двумя словами равной длины – это количество позиций, в которых различаются эти слова. В заданном предложении найти пару наиболее далеко удаленных слов заданной длины.
Имеется два варианта решения. Можно вычленить и запомнить слова в массиве строк и далее организовать цикл по парам слов с анализом их расстояния.
Все это, более аккуратно, можно сделать в строке, отслеживая позиции слов.
76. Для заданного натурального N определить наименьшее число S, которое можно представить в виде суммы aN + bN по крайней мере двумя различными (a, b - натуральные числа; представления, различающиеся лишь порядком слагаемых, различными не считаются).
Математическая модель
Алгоритм поиска требуемого представления оформим в виде процедуры. Уникальность обеспечим циклом по парам точек.
Псевдокод
Цикл по I от 2 до N
Цикл по парам чисел J, K от 1
Если JN > I/2 То
Выход из цикла по парам
Если есть представление То
Увеличить счетчик представлений
Напечатать
Все Если
Все Если
Все цикл по парам
Если два представления ТО
Выйти из цикла по I
Все Если
Все цикл
77. Найти все простые числа не превосходящие заданного N двоичная запись которых представляет собой симметричную последовательность нулей и единиц (начинающуюся единицей!)
Математическая модель
Количество символов в двоичном представлении числа N определяется неравенством 2l ≤ N ≤ 2l+1. Получить значение j – того слева символа можно по формуле (N \ 2i - j +1) Mod 2, а j – того справа по формуле (N \ 2j -1) Mod 2. Далее можно применить логику решения задачи 79. Для определения простоты числа применяется функция, реализующая алгоритм решета Эратосфена.
78. Перечислить все натуральные числа, не превосходящие заданного N, в двоичном представлении которых номера ненулевых разрядов образуют арифметическую прогрессию.
79. Среди простых чисел, не превосходящих заданного N, найти такое, в двоичном представлении которого максимальное число единиц.
80. Перечислить все пары «соседних» простых чисел, не превосходящих N, троичные представления которых получаются друг из друга записью цифр в обратном порядке (первая такая пара – это 5 и 7).
81. Задано множество точек в трехмерном пространстве. Найти минимум радиусов шаров с центрами в этих точках, содержащихся ровно n точек этого множества.
82. Указать то число заданного множества целых чисел, в двоичном представлении которого больше всего единиц.
83. Определить, является ли периодической последовательностью двоичная запись заданного натурального числа N, то есть имеет ли она вид aa…a, где a – некоторая непустая последовательность.
84. Многоугольник (не обязательно выпуклый) задан на плоскости перечислением координат вершин в порядке обхода его границы. Определить площадь многоугольника.
Учесть, что многоугольник может иметь весьма сложную границу и для вычисления его площади целесообразно применить идею интегральной площади.
85. Дано 3n точек на плоскости, причем никакие три из них не лежат на одной прямой. Построить множество n треугольников с вершинами в этих точках так, чтобы никакие два треугольника не пересекались и не содержали друг друга.
Построить процедуру, которая находит две такие точки множество, что проведенная через них прямая содержит с какой либо своей стороны только одну точку данного множества. Найденные три точки исключить из рассмотрения
86. На плоскости задано множество окружностей. Две окружности A и B назовем связанными, если они пересекаются, либо существует третья окружность C заданного множества, связанная с A и B. Выбрать максимальное подмножество попарно не связанных друг с другом окружностей.
Построить функцию, определяющую связность окружностей.
В задачах 91:94 «Серия» означает последовательность одинаковых символов, например «аааа», «?????» …
87. Для заданного текста определить длину содержащейся в нем максимальной серии символов, отличных от букв.
88. Характеристикой слова назовем длину содержащейся в нем максимальной серии. Упорядочить слова заданного предложения в соответствии с ростом их характеристик.
89. Отредактировать заданное предложение, удаляя из него слова-серии, a также те слова, которые уже встречались в предложении раньше.
90. Среди слов заданного предложения, которые не являются сериями, найти такое, которое имеет наибольшее число вхождений в предложение.