Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace _10._TopNumber
- {
- class Program
- {
- static void Main(string[] args)
- {
- int num = int.Parse(Console.ReadLine());
- PrintTopNumbers(num);
- }
- private static void PrintTopNumbers(int num)
- {
- for (int i = 1; i <= num; i++)
- {
- int digitsSum = GetSumOfDigits(i);
- bool isDivisible = CheckIsDivisible(digitsSum, 8);
- bool isAnyOddDigit = IsContainsOdd(i);
- if (isAnyOddDigit && isDivisible)
- {
- Console.WriteLine(i);
- }
- }
- }
- private static bool IsContainsOdd(int num)
- {
- bool isContainsOdd = false;
- int lastDigit = 0;
- while (num > 0)
- {
- lastDigit = num % 10;
- if (lastDigit % 2 == 1)
- {
- isContainsOdd = true;
- }
- num /= 10;
- }
- return isContainsOdd;
- }
- private static bool CheckIsDivisible(int digitsSum, int v)
- {
- if (digitsSum % v == 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- private static int GetSumOfDigits(int num)
- {
- int sum = 0;
- while (num > 0)
- {
- sum += num % 10;
- num /= 10;
- }
- return sum;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement