Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Day4
- {
- internal class Program
- {
- private static bool isHavingSameAdjacentNumber(int number)
- {
- var numberStr = number.ToString();
- for (int i = 0; i < numberStr.Length - 1; i++)
- {
- if (numberStr[i] == numberStr[i + 1])
- return true;
- }
- return false;
- }
- private static bool IsNotMoreTwoDigitsAdjacent(int number)
- {
- Dictionary<char, int> d = new Dictionary<char, int>();
- var numberStr = number.ToString();
- for (int i = 0; i < numberStr.Length; i++)
- {
- if (d.ContainsKey(numberStr[i])) d[numberStr[i]]++;
- else d.Add(numberStr[i], 1);
- }
- return d.Values.Any(v => v == 2);
- }
- private static bool isIncreasing(int number)
- {
- var numberStr = number.ToString();
- for (int i = 0; i < numberStr.Length - 1; i++)
- {
- if (numberStr[i] > numberStr[i + 1]) return false;
- }
- return true;
- }
- private static bool test(int number)
- {
- bool[] tests = { isIncreasing(number), isHavingSameAdjacentNumber(number), IsNotMoreTwoDigitsAdjacent(number) };
- return tests.All(i => i == true);
- }
- private static void Main(string[] args)
- {
- var min = 183564;
- var max = 657474;
- var count = 0;
- for (int number = min; number <= max; number++)
- {
- if (test(number)) count++;
- }
- Console.WriteLine(count);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement