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 ₽
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект