Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Methods_Exercise;
- import java.util.Scanner;
- public class TopInteger_10 {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = Integer.parseInt(scanner.nextLine());
- //обхождаме всички числа от 1 до n
- //за всяко число правим проверка дали е топ -> print
- for (int number = 1; number <= n; number++) {
- //1. сумата от цифрите се дели на 8
- //2. да има поне една нечетна цифра
- if(isSumDigitsDivisible(number) && holdsOddDigit(number)) {
- System.out.println(number);
- }
- }
- }
- //true -> сумата от цифрите се дели на 8
- //false -> суамата от цифрите не се дели на 8
- public static boolean isSumDigitsDivisible(int number) {
- //сума от цифрите
- int sum = 0;
- //спирам: number <= 0
- //продължавам: number > 0
- while (number > 0) {
- //1. взимаме последната цифра
- int lastDigit = number % 10;
- //2. добавяме към сумата
- sum += lastDigit;
- //3. премахвам послената цифра
- number = number / 10;
- }
- //сума се дели на 8 -> true
- /*if (sum % 8 == 0) {
- return true;
- }
- //сума не се дели на 8 -> false
- else {
- return false;
- }*/
- return sum % 8 == 0;
- }
- //true -> има поне една нечетна цифра
- //false -> ако няма нито една нечетна цифра
- private static boolean holdsOddDigit (int number) {
- while (number > 0) {
- //1. взимаме последната цифра
- int lastDigit = number % 10;
- //2. проверка дали е нечетна
- if (lastDigit % 2 == 1) {
- return true;
- }
- //3. премахвам послената цифра
- number = number / 10;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment