|
#include <stdio.h> void main(void)
{ int a[101],i,j; a[1]=0; for(i=2; i<=100; i++) { a[i]=i; //假設(shè)2到100都為素數(shù) } 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是素數(shù)。\t",a[i]); } } } public class Prim {
public static void generatePrime(int n) { boolean[] data = new boolean[n + 1]; //設(shè)從 0 到 n 都是素數(shù)false data[0] = data[1] = true; //0 和 1 不是素數(shù) 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 是素數(shù)\n", i); } } } public static void main(String[] args) {
generatePrime(100); } } |
|
|