2016-02-15 3 views
0

Я работаю над проектом Эйлера № 5:Project Euler 5, ответ у меня есть только половина, почему?

2520 наименьшее число, которое можно разделить на каждое из чисел от 1 до 10 без остатка.

Какое наименьшее положительное число равномерно делится на все числа от 1 до 20?

Однако ответ, который я продолжаю получать, 116396280, является лишь половиной фактического ответа. Где я иду не так? Почему я получаю только половину ответа? Это, кстати, в java.

public class main{ 
    public static void main(String[] args){ 
     long number=2520;//smallest number divisible by all numbers from 1-10 
     long x;//for loop counter 
     for (x=19;x>10;x-=2){ 
      if (x!=15){//its factors 5 and 3 have already been counted 
       number*=x;//multiplies new prime numbers 
      } 
     } 
     System.out.println(number); 
    } 
} 
+1

Вы действительно должны цитировать вопрос, а не ожидать, что люди перейдут к Project Euler и найдут его. – Dolda2000

ответ

1

только ходить по нечетным числам, вам не хватает на 16, чья факторизация 2 Ваш ответ содержит только 2 .

+0

как я могу проверить это в своем коде? – Sal

+0

Вообще говоря, ваш код не намного лучше, чем просто жесткое кодирование решения. Не быть грубым, но я действительно предлагаю вам переосмыслить решение с нуля. – Dolda2000

+0

Не волнуйся, я не обижаюсь. Я попытался это сделать, но не смог понять это, я не притворяюсь, что сейчас знаю слишком много, и поэтому обращаюсь к вам за добрыми пользователями stackoverflow. – Sal