«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу определить, является ли целое число простым в C?

Как я могу определить, является ли целое число простым в C?

Опубликовано 19 января 2025 г.
Просматривать:389

How Can I Determine if an Integer is Prime in C?

Определение простоты в C

Ваш запрос на определение того, является ли данное целое число простым в C, поднимает интригующую задачу программирования. Давайте разберем шаги для достижения этой цели:

  1. Инициализация цикла: Перебор чисел, начиная с 2 и до одного меньше заданного целого числа.
  2. Проверка делимости: Для каждого числа в цикле вычислите остаток при делении целого числа на это число. Если остаток равен нулю и число не является целым числом, оно не является простым.
  3. Повторите шаг 2: Продолжайте перебирать числа, пока не достигнете квадратного корня из целого числа.
  4. Верните результат: Если ни одно из чисел в цикле не привело к делителям, целое число является простым. В противном случае оно не является простым числом.

В C# ваш код реализует этот алгоритм следующим образом:

static bool IsPrime(int number)
{
    for (int i = 2; i 

Адаптация к C:

Чтобы перевести этот код на C, нам нужно внести некоторые незначительные изменения:

  1. C не имеют тип bool, поэтому вместо этого мы используем целое число, возвращая 1 для простого числа и 0 для не простого числа.
  2. C99 представил stdbool.h заголовок, который определяет bool, но если ваша среда не поддерживает C99, вы можете использовать целое число, как указано выше.

Следующий модифицированный код C выполняет ту же задачу:

int IsPrime(unsigned int number)
{
    if (number 

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3