我的任务是编写一段代码,打印出 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/