本文共 488 字,大约阅读时间需要 1 分钟。
算法思路:
原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数。如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质数的倍数筛掉。
代码如下:
//C语言 筛选法求100以内的素数//原理很简单,就是当i是质(素)数的时候,i的所有的倍数必然是合数。如果i已经被判断不是质数了,那么再找到i后面的质数来把这个质//数的倍数筛掉。//我们将从2开始 用2除后面的数,如果后面的数能被2整除 那么那个数一定不是素数#define N 100 #include "stdio.h"int main(){ int i,j; int arr[N]; for(i = 0;i< N-1;i++){ for(j = i+1;j < N;j++){ if(arr[i] != 0 && arr[j] != 0)//如果进行到3的时候2后面一定有数被置为0了,这里我们需要判断一下是不是有0 if(arr[j] % arr[i] == 0){ arr[j] = 0; } } } //循环输出 for(i = 0;i
结果如下:
转载地址:http://pthgi.baihongyu.com/