Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Numbers
- {
- public static class IntegerExtensions
- {
- public static ComparisonSigns? GetTypeComparisonSigns(this long number) //здесь у тебя был не ComparisonSigns?, а object?, возможно изза этого была ошибка в тестах
- {
- ComparisonSigns result = 0;
- if (number > -10 && number < 10)
- {
- return null;
- }
- else // else не нужон
- {
- while (number / 10 != 0)
- {
- if ((number / 10) % 10 > number % 10) //если совсем уже душнить то лучше завестм переменные для (number / 10) % 10 пушто оно если заходит во 2й иф считает их 2й раз заново эти числа, а так будет считать ток 1 раз при создании переменной
- {
- result |= ComparisonSigns.MoreThan;
- }
- else if ((number / 10) % 10 < number % 10)
- {
- result |= ComparisonSigns.LessThan;
- }
- else
- {
- result |= ComparisonSigns.Equals;
- }
- number = number / 10; //number /= 10
- }
- }
- return result;
- }
- //этот алгоритм проходит все тесты однако не работатет для отрицательных чисел( если, опять же, ты хочешь запариться можешь допилить)))
- public static string GetTypeOfDigitsSequence(this long number)
- {
- string result;
- switch (number.GetTypeComparisonSigns())
- {
- case ComparisonSigns.LessThan:
- result = "Strictly Increasing.";
- break;
- case ComparisonSigns.MoreThan:
- result = "Strictly Decreasing.";
- break;
- case ComparisonSigns.Equals:
- result = "Monotonous.";
- break;
- case ComparisonSigns.MoreThan | ComparisonSigns.Equals | ComparisonSigns.LessThan:
- result = "Unordered.";
- break;
- case ComparisonSigns.MoreThan | ComparisonSigns.LessThan:
- result = "Unordered.";
- break;
- case ComparisonSigns.LessThan | ComparisonSigns.Equals:
- result = "Increasing.";
- break;
- case ComparisonSigns.MoreThan | ComparisonSigns.Equals:
- result = "Decreasing.";
- break;
- default:
- result = "One digit number.";
- break;
- }
- return result;
- }
- }
- }
- //тут тоже хорошо, но если тебе интересно))) можешь чекнуть что такое switch expresiion через него можно красивее сделать
- //в целом - атлишна
Add Comment
Please, Sign In to add comment