kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn

Почему работа программы останавливается на числе 25?

public class LargestSimpleDivider {
    public static void main(String[] args) {
        for (long i = 100; i > 0; i--) {
            long number = 100;
            if (i % 2 == 0 || i % 3 == 0) {
                System.out.printf("\nnot like this " + i);
            } else if(number % i == 0) {
                System.out.printf("\nThe largest simple divider: " + i);
                break;
            }
        }
        //System.out.printf("proverka 25: " + 25 % 2 + "\n" + 25 % 3);
    }
}

Почему-то число 25 проходит первую проверку if (i % 2 == 0 || i % 3 == 0), хотя не должно.
На всякий случай сам проверил чуть ниже - остаток от деления будет 1, но никак не 0, соответственно проверка не должна пройтись. Что не так с числом 25?
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Оно не проходит эту проверку. Оно проходит следующую if(number % i == 0)
Ты ищешь максимальное число, которое не делится на 2 и 3, и является делителем 100. И потом срабатывает break, поэтому на 25 программа завершается.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы