YORDAN2347

10. Top Number Methods

Jan 28th, 2021
567
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2.  
  3. namespace _10._TopNumber
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int num = int.Parse(Console.ReadLine());
  10.  
  11.             PrintTopNumbers(num);
  12.  
  13.            
  14.         }
  15.  
  16.         private static void PrintTopNumbers(int num)
  17.         {
  18.             for (int i = 1; i <= num; i++)
  19.             {
  20.                 int digitsSum = GetSumOfDigits(i);
  21.                 bool isDivisible = CheckIsDivisible(digitsSum, 8);
  22.                 bool isAnyOddDigit = IsContainsOdd(i);
  23.  
  24.                 if (isAnyOddDigit && isDivisible)
  25.                 {
  26.                     Console.WriteLine(i);
  27.                 }
  28.             }
  29.         }
  30.  
  31.         private static bool IsContainsOdd(int num)
  32.         {
  33.             bool isContainsOdd = false;
  34.             int lastDigit = 0;
  35.             while (num > 0)
  36.             {
  37.                 lastDigit = num % 10;
  38.                 if (lastDigit % 2 == 1)
  39.                 {
  40.                     isContainsOdd = true;
  41.                 }
  42.                 num /= 10;
  43.             }
  44.  
  45.             return isContainsOdd;
  46.         }
  47.  
  48.         private static bool CheckIsDivisible(int digitsSum, int v)
  49.         {
  50.             if (digitsSum % v == 0)
  51.             {
  52.                 return true;
  53.             }
  54.             else
  55.             {
  56.                 return false;
  57.             }
  58.         }
  59.  
  60.         private static int GetSumOfDigits(int num)
  61.         {
  62.             int sum = 0;
  63.             while (num > 0)
  64.             {
  65.                 sum += num % 10;
  66.                 num /= 10;
  67.             }
  68.  
  69.             return sum;
  70.         }
  71.     }
  72. }
  73.  
RAW Paste Data