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 программа завершается.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
06 мая 2024, в 14:54
1000 руб./за проект
06 мая 2024, в 14:53
45000 руб./за проект
06 мая 2024, в 14:31
200000 руб./за проект