Patrice T
Я боюсь, что вы получите сумму простых чисел, но не число, делимое на 3.
Итак, прежде всего:
Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.
Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Немного математического анализа в порядке:
- 3-единственное число, делимое на 3 и простое. Так что вы можете смело разделять оба квеста.
Подсчет чисел, делящихся на 3, может быть слишком легким.
for(i=2;i<50;i++)
{
if(i%3==0)
{
sum=sum+i;
}
}
Немного подумав, вы получите
for(i=3;i<50;i+=3)
{
sum=sum+i;
}
И при более глубоком размышлении вы можете увидеть, что сумма
sum= 3+ 6+ 9+ 12+ 15+ 18 ...
Который
sum= 3* (1+ 2+ 3+ 4+ 5+ 6 ...)
математический ряд
(1+ 2+ 3+ 4+ 5+ 6 ...)
хорошо известен и может быть вычислен без цикла. (слева в качестве упражнения)