#include <stdio.h> void main(void)
{ int a[101],i,j; a[1]=0; for(i=2; i<=100; i++) { a[i]=i; //假设2到100都为素数 } for(i=2; i<=sqrt(100); i++) { if(a[i]!=0) { for(j=i+1; j<=100; j++) { if(a[j]!=0 && a[j]%a[i]==0) { a[j]=0; } else NULL; } } } for(i=2; i<=100; i++) { if(a[i]!=0) { printf("%d是素数。\t",a[i]); } } } public class Prim {
public static void generatePrime(int n) { boolean[] data = new boolean[n + 1]; //设从 0 到 n 都是素数false data[0] = data[1] = true; //0 和 1 不是素数 for (int i = 2; i < (int)Math.sqrt(data.length); i++) { if (!data[i]) { for (int j = i + 1; j < data.length; j++) { if (!data[j] && j % i == 0) { data[j] = true; } } } } for (int i = 0; i < data.length; i++) {
if (!data[i]) { System.out.printf("%d 是素数\n", i); } } } public static void main(String[] args) {
generatePrime(100); } } |
|
来自: shaobin0604@1... > 《找工作》