首页 > 解决方案 > 在 C 中查找素数

问题描述

我目前正在处理这个问题并计划没有功能。但是,我有一个问题。为什么将 1 初始化为标识符“prime”?

int main() { 
   int loop, number;
   int prime = 1;
   
   number = 11;

   for(loop = 2; loop < number; loop++) {
      if((number % loop) == 0) {
         prime = 0;
      }
   }

   if (prime == 1)
      printf("%d is prime number.", number);
   else
      printf("%d is not a prime number.", number);
   return 0;
}

标签: cprime-factoring

解决方案


因为1在条件中使用prime == 1,因此1意味着该数字是质数。

如果将条件写为,则可以使用适合素数标志(未找到除数标志)prime的任何非零数。int例如,您可以使用1, 42, 200, 334, 555, 777, 999, 2021,-1等。


推荐阅读