3.1.6 Моделирование иерархических данных и рекурсивных связей Создайте две ERD-диаграммы, иллюстрирующие указанную ситуацию. Постройте одну диаграмму в виде иерархической структуры, а другую — в виде рекурсивной.
Компания Curves Dynamics продает свою продукцию на всей территории США. Вся территория разделена на четыре главных региона продаж: северный, восточный, южный и западный. Каждый регион продаж имеет уникальный код. Регионы продаж состоят из торговых округов. Например, западный регион включает в себя округа Скалистые горы, Северо-западный, Тихоокеанское побережье и Тихоокеанский. Каждый округ имеет уникальный код.
Округа состоят из торговых территорий. Округ Скалистые горы включает в себя три территории: Вайоминг–Монтана, Колорадо и Юта–Нью-Мексико. Северо-западный округ состоит из двух территорий: Вашингтон и Орегон–Айдахо. Округ Тихоокеанское побережье включает в себя две территории: Калифорния и Невада. Тихоокеанский округ включает в себя территорию Гавайских островов и территорию Аляски. Каждая территория имеет уникальный код.
Каждая торговая территория разделена на торговые зоны. Например, Колорадо включает в себя две торговые зоны: Передний край и Западный склон. Каждая торговая зона имеет уникальный код.
Каждый специалист по продажам отвечает за одну или несколько торговых зон и имеет определенную квоту продаж. Каждый менеджер по продажам отвечает за один или несколько торговых округов, а руководители отделов продаж отвечают за один или несколько регионов. Каждый менеджер по продажам отвечает за территории в составе своих округов. Области ответственности сотрудников не пересекаются. За торговую зону всегда отвечает один специалист по продажам. Точно так же не пересекаются области ответственности менеджеров и руководителей отделов. Специалисты по продажам, менеджеры и руководители периодически уходят в отпуск или получают специальные задания и не отвечают за торговую зону. Каждый сотрудник, относящийся к торговому персоналу, имеет уникальный идентификатор.
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Dcoder
{
public class Program
{
public static void Main(string[] args)
{
Console.Write("Размер массива: ");
int n = Convert.ToInt32(Console.ReadLine());
int[] arr = new int[n];
Random rand = new Random();
for (int i = 0; i < arr.Length; i++)
arr[i] = rand.Next(1, 100);
for (int i = 0; i < arr.Length; i++)
if (arr[i] % 2 == 0)
Console.WriteLine(arr[i]);
Console.WriteLine();
for (int i = 0; i < arr.Length; i++)
if (arr[i] % 2 != 0)
Console.WriteLine(arr[i]);
Console.ReadLine();
}
}
}
В первую очередь приходит на ум последовательность Фибоначи усеченная вначале.
f(n) = f(n-1) + f(n-2)
1, 1, 2, 3, 5, 8, 13, 21, ...
Но такого варианта нет
Потом последовательность типа
f(n) = f(n-1) + n, f(0)=2
2, 3, 5, 8, 12, 17, 23, 30, ...
Опять таки нет такого варианта
Немного подумав нашла такой вариант
f(n) = 3n - 1, n = [1, 2, 3...]
2, 3, 5, 8, 11, 14, 17, 20
Такой вариант подходит, потому тут и остановимся
ответ 11