c - 变量之间的百分比

标签 c

我的任务是编写一段代码,打印出 1-100 之间的所有素数。我正在查看不同的程序,以了解该做什么并不断遇到“if (x%c == 0)”。

现在我不知道“x%c”是什么意思。我环顾四周,但在任何地方都找不到任何好的答案。可能是因为寻找错误的东西。下面的代码到底做了什么?

#include<stdio.h>

int main()
{
   int n, i = 3, count, c;

   printf("Enter the number of prime numbers required\n");
   scanf("%d",&n);

   if ( n >= 1 )
   {
      printf("First %d prime numbers are :\n",n);
      printf("2\n");
   }

   for ( count = 2 ; count <= n ;  )
   {
      for ( c = 2 ; c <= i - 1 ; c++ )
      {
         if ( i%c == 0 )
            break;
      }
      if ( c == i )
      {
         printf("%d\n",i);
         count++;
      }
      i++;
   }

   return 0;
}

最佳答案

这是模运算。 https://en.wikipedia.org/wiki/Modulo_operation

如果在整数空间中进行除法,则得到余数。

例如:

3 % 3 = 3 mod 3 = 0

表示 3 除以 3 得到 1,余数为 0。 如果除法没有余数,则第一个数字是第二个数字的倍数。 这意味着它不是质数(如果您除以的数字不是 1 或相同的数字)

完整示例

15 % 2 = 1
15 % 3 = 0 

15 不是素数

关于c - 变量之间的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41298284/

相关文章:

c - GNU ARM 的 #pragma

c - 如何判断进程是否是第一次启动

c - 找不到 GLU.dll

GCC 中的编译器标志 (C)

c++ - 日本半/全角转换

使用带有输入和输出流的 ProcessBuilder 的 Java 程序不起作用

c - 使用 C 返回数组

c - 如何在函数内 malloc 结构体数组?代码以其他方式工作

c - 如何将 "strings"的数组放入 C 中的字符数组中?

c - C 中 header 定义结构的 main 中的语句错误