desislava_topuzakova

Untitled

Jul 27th, 2022
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 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.  
Add Comment
Please, Sign In to add comment