Проверка простоты грубой силы для 16-битного целого числа

@Sheridan thx .. если я попробую ваш пример с «DisplayedImagePath» с обеих сторон, он работает с абсолютным путем, как вы показываете.

Что касается путей relative , так я всегда связываю относительные пути, я сначала включаю подкаталог (!) и файл изображения в свой проект .. тогда я использую ~ символ для обозначения пути bin.

    public string DisplayedImagePath
    {
        get { return @"~\..\images\osc.png"; }
    }

Это было протестировано, см. ниже мой обозреватель решений в VS2015 ..

)

Примечание: если вы хотите событие Click, используйте тег кнопки вокруг изображения ,

0
задан Learner 5 March 2019 в 16:48
поделиться

1 ответ

Полагаю, вы имеете в виду 16 цифр, а не 16 бит. 16 бит действительно легко, и вы можете просто проверить это с помощью простого цикла и деления. Ваш checkPrime() может быть оптимизирован следующим образом:

public static boolean checkPrime(long n)
{
    if (n == 2)
        return true;

    if (n % 2 == 0)
        return false;

    for (long i = 3; i <= Math.sqrt(n); i += 2) 
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

Но если число становится слишком большим (я думаю, что даже для 16 цифр это не понадобится), вы можете использовать примитивность Миллера-Робина тест . Этот тест можно использовать для проверки, является ли число ОЧЕНЬ БОЛЬШИМ простым или нет.

Если вам нужно сгенерировать все простые числа до определенного числа , вы можете использовать Сито Эратосфена .

Просто помните, что диапазон int составляет от -2,147,483,648 до 2,147,483,647, поэтому он не может содержать 16-значное число. Вы можете использовать long, потому что его диапазон от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807, поэтому он может содержать 16-значный номер.

0
ответ дан Afshin 5 March 2019 в 16:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: