Program.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. 
  2. /* Задача 5 на множества из учебника
  3. SortedSet<int> one = new SortedSet<int>();
  4. SortedSet<int> two = new SortedSet<int>();
  5. SortedSet<int> three = new SortedSet<int>();
  6. Console.Write("Числа в множестве(от и до): ");
  7. string[] interval = Console.ReadLine().Split(" ");
  8. for (int i = Convert.ToInt32(interval[0]); i <= Convert.ToInt32(interval[1]); i++)
  9. {
  10. one.Add(i);
  11. }
  12. foreach (var a in one)
  13. {
  14. if (IsSimple(a))
  15. {
  16. two.Add(a);
  17. }
  18. else
  19. {
  20. three.Add(a);
  21. }
  22. }
  23. ShowColl(two,"Составные числа: ");
  24. ShowColl(three,"Простые числа: ");
  25. static bool IsSimple(int a)
  26. {
  27. int b = Convert.ToInt32(Math.Sqrt(a));
  28. for (int i = 2; i <= b; i++)
  29. {
  30. if (a % i == 0)
  31. {
  32. return false;
  33. }
  34. }
  35. return true;
  36. }
  37. static void ShowColl(SortedSet<int> numbers, string a)
  38. {
  39. Console.Write(a);
  40. foreach (var b in numbers)
  41. {
  42. Console.Write(b + " ");
  43. }
  44. Console.WriteLine();
  45. }
  46. */
  47. /* 1
  48. while (true)
  49. {
  50. Console.Write("date(dd.mm.yyyy): ");
  51. try
  52. {
  53. DateTime date = Convert.ToDateTime(Console.ReadLine());
  54. Console.WriteLine("date is correct");
  55. }
  56. catch (Exception)
  57. {
  58. Console.WriteLine("wrong date");
  59. }
  60. }
  61. */
  62. /* 2
  63. while (true)
  64. {
  65. Console.Write("first date: ");
  66. DateTime date1 = Convert.ToDateTime(Console.ReadLine());
  67. Console.Write("second date: ");
  68. DateTime date2 = Convert.ToDateTime(Console.ReadLine());
  69. Console.WriteLine("days: {0}", date1.Subtract(date2).TotalDays);
  70. }
  71. */
  72. /* 3
  73. while (true)
  74. {
  75. Console.Write("first date: ");
  76. DateTime date1 = Convert.ToDateTime(Console.ReadLine());
  77. Console.Write("second date: ");
  78. DateTime date2 = Convert.ToDateTime(Console.ReadLine());
  79. Console.WriteLine("hours: {0}", date1.Subtract(date2).TotalHours);
  80. }
  81. */
  82. /* 4
  83. while (true)
  84. {
  85. Console.Write("first date: ");
  86. DateTime date1 = Convert.ToDateTime(Console.ReadLine());
  87. Console.Write("second date: ");
  88. DateTime date2 = Convert.ToDateTime(Console.ReadLine());
  89. Console.WriteLine("minutes: {0}", date1.Subtract(date2).TotalMinutes);
  90. }
  91. */
  92. /* 5
  93. while (true)
  94. {
  95. Console.Write("year: ");
  96. int year = int.Parse(Console.ReadLine());
  97. DateTime date1 = new DateTime(year, 01, 01);
  98. double day = 256 - date1.DayOfYear;
  99. date1 = date1.AddDays(day);
  100. Console.WriteLine("date: {0} day of week: {1}", date1.ToShortDateString(), date1.DayOfWeek);
  101. }
  102. */
  103. /* 6
  104. while (true)
  105. {
  106. DateTime date1 = DateTime.Now;
  107. Console.Write("day: ");
  108. double day = Convert.ToDouble(Console.ReadLine());
  109. if (day > date1.DayOfYear)
  110. date1 = date1.AddDays(day - date1.DayOfYear);
  111. else
  112. date1 = date1.AddDays(-(date1.DayOfYear - day));
  113. Console.WriteLine("day of week: {0}", date1.DayOfWeek);
  114. }
  115. */
  116. /* 7
  117. while (true)
  118. {
  119. DateTime date1 = new DateTime(2024, 5, 23);
  120. Console.Write("Дата: ");
  121. DateTime date2 = Convert.ToDateTime(Console.ReadLine());
  122. if (date1 > date2)
  123. Console.WriteLine("До экзамена: {0} дней",date1.Subtract(date2).TotalDays);
  124. else if (date1 < date2)
  125. Console.WriteLine("Со дня экзамена прошло: {0} дней", date2.Subtract(date1).TotalDays);
  126. else
  127. Console.WriteLine("Экзамен сегодня!");
  128. }
  129. */
  130. /* 8
  131. DateTime date = DateTime.Now;
  132. Console.WriteLine(date.AddDays(1).ToShortDateString());
  133. */
  134. /* 9
  135. while(true)
  136. {
  137. Console.Write("День рождения(дд.мм.гггг): ");
  138. string[] ddmm = Console.ReadLine().Split('.');
  139. DateTime dob = new DateTime(2024, int.Parse(ddmm[1]), int.Parse(ddmm[0]));
  140. DateTime date = DateTime.Now;
  141. if (dob > date)
  142. Console.WriteLine("До дня рождения {0} дней", Convert.ToInt32(dob.Subtract(date).TotalDays) );
  143. else if (dob < date)
  144. Console.WriteLine("Со дня рождения прошло {0} дней", Convert.ToInt32(date.Subtract(dob).TotalDays));
  145. else
  146. Console.WriteLine("С днем рождения!");
  147. }
  148. */
  149. /* 10
  150. Console.Write("Введите время на часах: ");
  151. string[] time = Console.ReadLine().Split(':');
  152. DateTime date1 = DateTime.Today;
  153. date1 = date1.AddHours(double.Parse(time[0])).AddMinutes(double.Parse(time[1])).AddSeconds(double.Parse(time[2]));
  154. Console.WriteLine("С начала суток прошло: {0} секунд",Convert.ToInt32(date1.Subtract(DateTime.Today).TotalSeconds));
  155. */
  156. /* 11
  157. Console.Write("Введите количество дат: ");
  158. int a = int.Parse(Console.ReadLine());
  159. List<DateTime> dates = new List<DateTime>();
  160. DateTime today = DateTime.Today;
  161. for (int i = 0; i < a; i++)
  162. {
  163. Console.Write("Введите {0} дату: ", i+1);
  164. dates.Add(Convert.ToDateTime(Console.ReadLine()));
  165. }
  166. double difference = Math.Abs(today.Subtract(dates[0]).TotalDays);
  167. DateTime datean = new DateTime();
  168. foreach (var date in dates)
  169. {
  170. double days = Math.Abs(today.Subtract(date).TotalDays);
  171. if (days < difference)
  172. {
  173. difference = days;
  174. datean = date;
  175. }
  176. }
  177. Console.WriteLine("Ближайшая дата: {0}",datean.ToShortDateString());
  178. */
  179. /* 12
  180. Console.Write("Введите количество дат: ");
  181. int a = int.Parse(Console.ReadLine());
  182. List<DateTime> dates = new List<DateTime>();
  183. DateTime today = DateTime.Today;
  184. for (int i = 0; i < a; i++)
  185. {
  186. Console.Write("Введите {0} дату дня рождения: ", i+1);
  187. dates.Add(Convert.ToDateTime(Console.ReadLine()));
  188. }
  189. List<int> months = new List<int>();
  190. foreach (var date in dates)
  191. {
  192. if (months.IndexOf(date.Month) == -1)
  193. {
  194. months.Add(date.Month);
  195. }
  196. }
  197. foreach (var month in months)
  198. {
  199. int count = 0;
  200. Console.Write("Дней рождений в {0} месяце: ", month);
  201. foreach (var date in dates)
  202. {
  203. if (date.Month == month)
  204. {
  205. count++;
  206. }
  207. }
  208. Console.Write(count);
  209. Console.WriteLine();
  210. }
  211. */
  212. /* 13
  213. string [] dates = {"12.02.2005", "13.05.2005", "15.09.2014", "23.02.2019", "19.02.2001","30.09.2010"};
  214. Dictionary<int, int> months = new Dictionary<int, int>();
  215. foreach (var date in dates)
  216. {
  217. DateTime datec = DateTime.Parse(date);
  218. if (months.ContainsKey(datec.Month))
  219. {
  220. months[datec.Month]++;
  221. }
  222. else
  223. {
  224. months.Add(datec.Month, 1);
  225. }
  226. }
  227. int a = 0;
  228. int b = 0;
  229. foreach (var month in months)
  230. {
  231. if (month.Value > a)
  232. {
  233. a = month.Value;
  234. b = month.Key;
  235. }
  236. }
  237. Console.WriteLine($"{b} месяц самый популярный.");
  238. */
  239. /* 14
  240. Console.WriteLine("Понедельник: " + (double)Counter(DayOfWeek.Monday) / 50*12);
  241. Console.WriteLine("Вторник: " + (double)Counter(DayOfWeek.Tuesday) / 50*12);
  242. Console.WriteLine("Среда: " + (double)Counter(DayOfWeek.Wednesday) / 50*12);
  243. Console.WriteLine("Четверг: " + (double)Counter(DayOfWeek.Thursday) / 50*12);
  244. Console.WriteLine("Пятница: " + (double)Counter(DayOfWeek.Friday) / 50*12);
  245. Console.WriteLine("Суббота: " + (double)Counter(DayOfWeek.Saturday) / 50*12);
  246. Console.WriteLine("Воскресенье: " + (double)Counter(DayOfWeek.Sunday) / 50*12);
  247. static int Counter(DayOfWeek day)
  248. {
  249. int count = 0;
  250. for (int year = 1; year <= 50; year++)
  251. {
  252. for (int month = 1; month < 12; month++)
  253. {
  254. DateTime date = new DateTime(year, month, 13);
  255. if (date.DayOfWeek == day)
  256. {
  257. count++;
  258. }
  259. }
  260. }
  261. return count;
  262. }
  263. */
  264. /* 15
  265. Console.Write("year: ");
  266. int year = int.Parse(Console.ReadLine());
  267. DateTime date1 = new DateTime(year, 1, 1);
  268. DateTime date2 = new DateTime(year, 12, 31);
  269. Console.WriteLine(holidays(date1,date2));
  270. static int holidays (DateTime date1, DateTime date2)
  271. {
  272. int days = 0;
  273. for (var a = date1; a < date2; a.AddDays(1))
  274. {
  275. if (a.DayOfWeek == DayOfWeek.Saturday || a.DayOfWeek == DayOfWeek.Sunday)
  276. {
  277. days++;
  278. }
  279. }
  280. return days;
  281. }
  282. */