大家好,今天小编关注到一个比较有意思的话题,就是关于素数c语言代码的问题,于是小编就整理了2个相关介绍素数c语言代码的解答,让我们一起看看吧。
C语言求素数代码?
对于每个整数i,使用另一个循环来遍历从2到i-1的所有整数。
如果在第三个步骤中的循环中,找到一个可以整除i的整数,则i不是素数,可以跳出内层循环。
如果内层循环执行完毕后没有找到可以整除i的整数,则i是素数,可以将其打印出来。
重复步骤2到步骤5,直到遍历完所有从2到n的整数。
下面是一个示例代码:
c
#include <stdio.h>
for(c=2;c<=b;c++) if(a%c==0)break; -- 这是一句。
c从2 起,2,3,4,5,。。。到b, 依次去除 a,
a%c==0 -- 如果 (除法 求)余数是 0 ,就是 除尽了,它不是素数
break; --一旦 除尽了 就 break, 也就是 结束 循环。这时的 c 循环到多少就等于多少,不会大于 b.
如果 (除法 求余数)余数是始终 不是 0, 直到 b 也没除尽。循环结束。
出循环体时,由于 c++, c 增 1。c 最大值 不超过 b+1.
接下来 if(c>=b+1) 就是判断上面循环 状态,到底 循环到 几。
满足c>=b+1 是 素数, 否则 不是。
显然 c >= b+1
以下是一个用C语言求素数的简单代码示例:
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
C语言,输出1到100之间的全部素数?
方法一:
1、遍历1到100之间所有数,由于1的特殊性,不是素数也不是合数,所以可以从2开始遍历;
3、如果是素数,则输出,否则继续下一个。
参考代码:
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i;
for(i = 2; i <= 100; i ++)//遍历。
if(isPrime(i))//是素数。
printf("%d ", i);//输出素数。
return 0;
}
方法二是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。
到此,以上就是小编对于素数c语言代码的问题就介绍到这了,希望介绍关于素数c语言代码的2点解答对大家有用。