Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- A master number is an integer that holds the following properties:
- ⢠Is symmetric (palindrome), e.g. 5, 77, 282, 14341, 9553559.
- ⢠Its sum of digits is divisible by 7, e.g. 77, 313, 464, 5225, 37173.
- ⢠Holds at least one even digit, e.g. 232, 707, 6886, 87578.
- Write a program to print all master numbers in the range [1âŚn].
- */
- namespace Master_Numbers
- {
- using System;
- internal static class MasterNumberFinder
- {
- private static void Main()
- {
- var n = int.Parse(Console.ReadLine());
- for (int i = 7; i <= n; i++)
- {
- var digitsSum = SumOfDigits(i);
- if (IsPalindrome(i) && DigitsSumIsDivisibleBy7(digitsSum)
- && ContainsEvenDigit(i))
- {
- Console.WriteLine(i);
- }
- }
- }
- private static bool IsPalindrome(int num)
- {
- var numStr = num.ToString();
- for (int i = 0; i < numStr.Length / 2; i++)
- {
- if (numStr[i] != numStr[numStr.Length - 1 - i])
- {
- return false;
- }
- }
- return true;
- }
- private static int SumOfDigits(int num)
- {
- var sum = 0;
- var number = num;
- while (number >= 1)
- {
- sum += number % 10;
- number /= 10;
- }
- return sum;
- }
- private static bool DigitsSumIsDivisibleBy7(int sum)
- {
- if (sum % 7 == 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- private static bool ContainsEvenDigit(int num)
- {
- var number = num;
- while (number > 1)
- {
- var nextDigit = number % 10;
- if (nextDigit % 2 == 0)
- {
- return true;
- }
- number /= 10;
- }
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement