EpicKai Ответов: 1

Как посчитать число простых чисел меньше N?


Кажется, я не могу точно понять, как подсчитать количество простых чисел после определенного числа.

Что я уже пробовал:

public class Solution {
    public int countPrimes(int n) {
        if(n <= 2){
            return 0;
        } else if(n == 3){
            return 1;
        }
        int count = 0;
        for(int i = 2; i <= n; i++){
            if(IsPrime( i )){
                count++;
            }
        }
        return count;
    }
    public boolean IsPrime(int num) {
        for(int i=2;i<=num/2;i++){
            if(num % i == 0){
                return false;
            }
        }
        return true;
    }
}

Richard MacCutchan

В чем проблема?

1 Ответов

Рейтинг:
1

Patrice T

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в 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[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.

Каким должен быть результат для n=0 или 1 ?
Каким должен быть результат для n=2 ?
Посмотри на свой код.


Maciej Los

5ед!

Patrice T

Спасибо