Advertisement
desislava_topuzakova

10. Top Integer

Jun 10th, 2022
1,423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.33 KB | None | 0 0
  1. package Methods;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class TopInteger_10 {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         int n = Integer.parseInt(scanner.nextLine());
  9.  
  10.         for (int number = 1; number <= n; number++) {
  11.             //1. сумата от цифрите да се дели на 8
  12.             //2. съдържа поне една нечетна цифра
  13.             if (isSumDigitsDivisibleBy8(number) && isContainsOddDigit(number)) {
  14.                 System.out.println(number);
  15.             }
  16.         }
  17.     }
  18.     //метод, който проверява дали сумата от цифрите се дели на 8
  19.     //true -> сумата от цифрите се дели на 8
  20.     //false -> сумата от цифрите не се дели на 8
  21.     private static boolean isSumDigitsDivisibleBy8 (int number) {
  22.         //1. сумата от цифирите
  23.         int sumDigits = 0; //сума от цифрите на числото
  24.         while (number > 0) {
  25.             //1. взимаме последната цифра
  26.             int lastDigit = number % 10;
  27.             //2. добавям към сумата
  28.             sumDigits += lastDigit;
  29.             //3. премахвам последната цифра от числото
  30.             number = number / 10;
  31.         }
  32.         //2. проверка дали сумата се дели на 8
  33.         return sumDigits % 8 == 0;
  34.     }
  35.  
  36.     //метод, който проверява дали имаме поне 1 нечетна цифра в числото
  37.     //true -> имаме поне 1 нечетна цифра в числото
  38.     //false -> нямаме нито 1 нечетна цифра в числото
  39.     private static boolean isContainsOddDigit (int number) {
  40.         while (number > 0) {
  41.             //1. взимам последната цифра
  42.             int lastDigit = number % 10;
  43.             //2. проверка дали е нечетна
  44.             if (lastDigit % 2 == 1) {
  45.                 return true;
  46.             }
  47.             //3. премахвам цифрата
  48.             number /= 10;
  49.         }
  50.         //минали през всички цифри и никоя не е нечетна
  51.         return false;
  52.     }
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement