2014-11-09 2 views
-2

Выполняли математический пример в java, который мог бы найти все числа между number1 и number2 (включая number1 и number2), которые делят числа 2, 3 или 5. Мне не нужны все эти числа, как раз там много цифр.Java длинные номера

Так, например, при вводе 10 и 100 оно вернется 67. Выполнено для оператора и одного, если с помощью или знаков в нем.

Это сделано отлично для меньших чисел, но мне нужно использовать тип «long» (переменные должны быть этого типа!) И цифры до 18 цифр.

Так что, имея номера: 123456789123456789 и 989898989898989898, заявление для заявления не является хорошим, потому что это занимает много времени. Есть ли лучшее решение для этого, более быстрое?

+1

Вы даже не показали нам свое решение, так как мы можем сказать, есть ли лучший? – yshavit

+0

Как уже говорилось, у меня есть для stahment taht идет от number1 до number2, проверяет все числа между ними, если они погружены с 2,3 или 5. Но если использовать thoose большие числа, это занимает много времени, поэтому я думаю, что для утверждения is not good ? – user2838068

ответ

0

это единственный способ я думаю

public static void main(String[] args) 
{ 
    long a = 111111111111111111l; 
    long b = 111111111111115000l;  
    int match = 0; 
    for (long i=a; i!=b; i++) 
    { 
     if(((i % 2) == 0) && ((i % 3) == 0) && ((i % 5) == 0)) 
      match++; 
    } 
    System.out.println(match); 
} 

он всегда будет занимать слишком много времени, потому что хи сделано п (ба) цикл ...

Смежные вопросы