-
下面是一个 C 程序的示例,它求解 3 到 30 之间的所有质数:
c#include
int isprime(int n) {
if (n <= 1) {
return 0;
for (int i = 2; i * i <= n; i++)if (n % i == 0) {
return 0;
return 1;
int main()
for (int i = 3; i <= 30; i++)if (isprime(i))
printf("%d ", i);
return 0;
在这个程序中,我们首先定义一个函数 isprime,它用于确定整数是否为素数。 该函数采用整数参数 n,如果 n 为素数,则返回 1,否则为 0。
判断一个整数是否为素数的方法是从2开始,遍历sqrt(n),并确定它是否能被n一整除。 如果存在因子,则 n 不是素数; 否则 n 为素数。
在 main 函数 main 中,我们使用 for 循环遍历 3 到 30 之间的所有整数,并调用 isprime 函数进行判断。 如果当前整数为素数,则输出其值。
运行上述 **,可以得到以下输出:
如您所见,所有介于 3 和 30 之间的素数都是 。
-
#include
#include
int main()
int i,j;
for(i=3;i<101;i++)
bool flag = true;
for(j =2;j<=sqrt(i);+j)请注意,它以 2 开头并具有等号。
if(i%j==0)
flag = false;可分不是素数。
break;
if(flag)printf("%5d",i);打印质数。
-
以下是 Huai Sleepy C 语言的实现**
首先,从5开始循环到200,判断是否是每个数字的质数。 如果它是素数,则将其添加到总和中。 最后,输出求和得到结果。
-
<>根据结果,100 到 300 之间的第十个素数是 149
满意
-
操作步骤如下。 <>
解释:从 101 个奇数开始,到 299 结束,函数 isprime 确定是否为素数。
第 10 小时输出。 结果。
-
C 语言找到质数 100 200。
最传统的方法。 这种方法效率会比较低,判断100-200之间的每个数字,偶数肯定不是质数,所以省略100-200之间的偶数会大大提高效率。 排除 100-200 之间的偶数。
虽然消除了 100 到 200 之间的偶数,但 J 从 2 到 i-1 的尝试效率仍然很低,这将继续优化。 优化 j。 当然,j 也可以从 2 优化到 i 2。
以上方法都是试分法,当然也有筛选方法,这段时间就不赘述了。
-
第二个空白应用 i==j 填充;
因为在j循环中,每个循环都是先通过判断j<=i-1来执行的; 然后执行 i%j==0 判断,如果正确,则从循环末尾开始,执行下一条语句,即确定第二个空格的内容; 如果是错误,则 j++ 继续判断 j<=i-1 并继续循环;
所以j循环结束有两种情况,一种是判断i%j==0,不是质数,不需要输出(这时候j也是判断到最后一个数的情况,判断i%j==0还是错误,结束循环,这是质数, 输出(素数的判断永远是错误的,也就是说最后一个循环应该是 j=i-1,判断 i%j==0 误差 j++,j=i 判断 j<=i-1 误差后,j 结束循环,循环的结果是 j=i ))。
为了区分这两种情况,你必须用 i==j 填写第二个空白
-
是 i==j
你要自己敲它,看看结果。
#include
定义 n 50 * 可以是任何数字的阶乘,当然,计算机可以保存的下一个 * >>>More
这其实不难,做点小把戏来吧。
int a[1000],b[500]; >>>More