go语言求质数 java求质数算法

怎样找素数(质数)?

拿那个数分别去除以2,3,5,7.如果都有余数则这个数一定是一个素数.以下vfp程序将计算出长度小于20位的所有素数并将其结果逐行逐列存入一个有10列的素数表中.

创新互联公司是一家以网站设计建设,微信小程序、网站开发设计,网络软件产品开发,企业互联网推广服务为主的民营科技公司。主要业务涵盖:为客户提供网站策划、网站设计、网站开发、申请域名、网站优化排名、买链接等服务领域。凭借建站老客户口碑做市场,建设网站时,根据市场搜索规律和搜索引擎的排名收录规律编程,全力为建站客户设计制作排名好的网站,深受老客户认可和赞誉。

SELECT 1

SET ESCAPE on

USE 素数表.dbf

INSERT blank

DIMENSION a(1)

a=1

f=1

DO while a99999999999999999999

b=MOD(a,2)

c=MOD(a,3)

d=MOD(a,5)

e=MOD(a,7)

IF b#0.and.c#0.and.d#0.and.e#0.and.a#1.or.a=2.or.a=3.or.a=5.or.a=7

DO case

CASE f=1

g="一"

CASE f=2

g="二"

CASE f=3

g="三"

CASE f=4

g="四"

CASE f=5

g="五"

CASE f=6

g="六"

CASE f=7

g="七"

CASE f=8

g="八"

CASE f=9

g="九"

CASE f=10

g="十"

ENDCASE

GO bott

command1="gather from a"+" fields "+g

command1

f=f+1

IF f10

f=1

INSERT blank

ENDIF

ENDIF

a=a+1

ENDDO

=messagebox("长度20位以下(含)的所有素数运算完毕!",0+64+0,"运算完成")

USE

CLOSE all

素数表.dbf结构从略.

求素数幻方,这道题怎么做啊?(c语言)

4阶的话,可以考虑直接递归搜索。我试了试有2992组解。

1 2 11 12

4 9 8 5

7 10 3 14

6 13 16 15

1 2 11 12

4 9 8 5

13 10 3 14

6 7 16 15

1 2 11 12

4 15 8 5

7 16 3 14

6 13 10 9

1 2 11 12

4 15 8 5

13 16 3 14

6 7 10 9

1 2 11 12

10 3 8 5

7 16 15 14

6 13 4 9

1 2 11 12

10 3 8 5

13 16 15 14

6 7 4 9

1 2 11 12

10 9 8 5

7 4 3 14

6 13 16 15

1 2 11 12

10 9 8 5

7 4 15 14

6 13 16 3

1 2 11 12

10 9 8 5

13 4 3 14

6 7 16 15

1 2 11 12

10 9 8 5

13 4 15 14

6 7 16 3

…………

#include stdio.h

#include math.h

#include windows.h

#define MAX_NUM 30

#define _PRINT_ 0

unsigned long Result[MAX_NUM * MAX_NUM], ResultNum, Used[MAX_NUM * MAX_NUM]={0};

bool PrimeTable[MAX_NUM * MAX_NUM * 2]={ false };

unsigned long N, QN;

void CreatePrimeTable(void)

{

PrimeTable[0]=false;

PrimeTable[1]=false;

PrimeTable[2]=true;

PrimeTable[3]=true;

for(unsigned long j=5; j = MAX_NUM * MAX_NUM * 2; j+=2)

{

PrimeTable[j]=true;

for(unsigned long i=3; i = sqrt((double)j); i+=2)

{

if(j % i == 0)

{

PrimeTable[j]=false;

break;

}

}

}

}

inline bool IsPrime(unsigned long n)

{

return PrimeTable[n];

}

bool CheckIt(unsigned long Deep)

{

if(Deep == 0)

{

return true;

}

else if(Deep N)

{

return IsPrime(Result[Deep] + Result[Deep - 1]);

}

else if(Deep % N == 0)

{

return IsPrime(Result[Deep] + Result[Deep - N]);

}

else

{

return(IsPrime(Result[Deep] + Result[Deep - 1]) IsPrime(Result[Deep] + Result[Deep - N]));

}

}

void go(unsigned long Deep)

{

if(Deep == QN)

{

ResultNum++;

#if (_PRINT_)

printf("Find it! No.%lu\n", ResultNum);

for(unsigned long i=0; i QN; i++)

{

printf("%lu\t", Result[i]);

if(i % N == N - 1)

{

printf("\n");

}

}

#else

printf("\rFind:%lu", ResultNum);

#endif

}

else

{

for(unsigned long i=1; i = QN; ++i)

{

if(!Used[i])

{

Result[Deep]=i;

if(CheckIt(Deep))

{

Used[i]=1;

go(Deep + 1);

Used[i]=0;

}

}

}

}

}

int main()

{

DWORD tim;

ResultNum=0;

printf("Input N:");

scanf("%lu", N);

QN=N * N;

tim=GetTickCount();

CreatePrimeTable();

go(0);

printf("\n\nN=%lu\n", N);

printf("Total=%lu\n", ResultNum);

printf("Time=%lu\n", GetTickCount() - tim);

return 0;

}

关于补充问题:

相邻 不包含斜方向的吧?相邻不就是上下、左右……包含斜线的话,再增加一种情况就可以了。不过用的时间会多点

10000以内所有的质数

程序计算出来的!

class pn

{ public static void main(String[] args)

{ int cnt=1,pre=2;

System.out.println(2);

go: for(int i=3; i=10000;i+=2)

{ int f=0;

for(int j=2;j=(int)(Math.sqrt(i)+1);j++)

if (i%j==0) continue go;

cnt++;

System.out.println(i+"\t\t"+(i-pre));

pre=i;

}

System.out.println("共有"+cnt+"个");

}

}

---------- java ----------

2

3 1

5 2

7 2

11 4

13 2

17 4

19 2

23 4

29 6

31 2

37 6

41 4

43 2

47 4

53 6

59 6

61 2

67 6

71 4

73 2

79 6

83 4

89 6

97 8

101 4

103 2

107 4

109 2

113 4

127 14

131 4

137 6

139 2

149 10

151 2

157 6

163 6

167 4

173 6

179 6

181 2

191 10

193 2

197 4

199 2

211 12

223 12

227 4

229 2

233 4

239 6

241 2

251 10

257 6

263 6

269 6

271 2

277 6

281 4

283 2

293 10

307 14

311 4

313 2

317 4

331 14

337 6

347 10

349 2

353 4

359 6

367 8

373 6

379 6

383 4

389 6

397 8

401 4

409 8

419 10

421 2

431 10

433 2

439 6

443 4

449 6

457 8

461 4

463 2

467 4

479 12

487 8

491 4

499 8

503 4

509 6

521 12

523 2

541 18

547 6

557 10

563 6

569 6

571 2

577 6

587 10

593 6

599 6

601 2

607 6

613 6

617 4

619 2

631 12

641 10

643 2

647 4

653 6

659 6

661 2

673 12

677 4

683 6

691 8

701 10

709 8

719 10

727 8

733 6

739 6

743 4

751 8

757 6

761 4

769 8

773 4

787 14

797 10

809 12

811 2

821 10

823 2

827 4

829 2

839 10

853 14

857 4

859 2

863 4

877 14

881 4

883 2

887 4

907 20

911 4

919 8

929 10

937 8

941 4

947 6

953 6

967 14

971 4

977 6

983 6

991 8

997 6

1009 12

1013 4

1019 6

1021 2

1031 10

1033 2

1039 6

1049 10

1051 2

1061 10

1063 2

1069 6

1087 18

1091 4

1093 2

1097 4

1103 6

1109 6

1117 8

1123 6

1129 6

1151 22

1153 2

1163 10

1171 8

1181 10

1187 6

1193 6

1201 8

1213 12

1217 4

1223 6

1229 6

1231 2

1237 6

1249 12

1259 10

1277 18

1279 2

1283 4

1289 6

1291 2

1297 6

1301 4

1303 2

1307 4

1319 12

1321 2

1327 6

1361 34

1367 6

1373 6

1381 8

1399 18

1409 10

1423 14

1427 4

1429 2

1433 4

1439 6

1447 8

1451 4

1453 2

1459 6

1471 12

1481 10

1483 2

1487 4

1489 2

1493 4

1499 6

1511 12

1523 12

1531 8

1543 12

1549 6

1553 4

1559 6

1567 8

1571 4

1579 8

1583 4

1597 14

1601 4

1607 6

1609 2

1613 4

1619 6

1621 2

1627 6

1637 10

1657 20

1663 6

1667 4

1669 2

1693 24

1697 4

1699 2

1709 10

1721 12

1723 2

1733 10

1741 8

1747 6

1753 6

1759 6

1777 18

1783 6

1787 4

1789 2

1801 12

1811 10

1823 12

1831 8

1847 16

1861 14

1867 6

1871 4

1873 2

1877 4

1879 2

1889 10

1901 12

1907 6

1913 6

1931 18

1933 2

1949 16

1951 2

1973 22

1979 6

1987 8

1993 6

1997 4

1999 2

2003 4

2011 8

2017 6

2027 10

2029 2

2039 10

2053 14

2063 10

2069 6

2081 12

2083 2

2087 4

2089 2

2099 10

2111 12

2113 2

2129 16

2131 2

2137 6

2141 4

2143 2

2153 10

2161 8

2179 18

2203 24

2207 4

2213 6

2221 8

2237 16

2239 2

2243 4

2251 8

2267 16

2269 2

2273 4

2281 8

2287 6

2293 6

2297 4

2309 12

2311 2

2333 22

2339 6

2341 2

2347 6

2351 4

2357 6

2371 14

2377 6

2381 4

2383 2

2389 6

2393 4

2399 6

2411 12

2417 6

2423 6

2437 14

2441 4

2447 6

2459 12

2467 8

2473 6

2477 4

2503 26

2521 18

2531 10

2539 8

2543 4

2549 6

2551 2

2557 6

2579 22

2591 12

2593 2

2609 16

2617 8

2621 4

2633 12

2647 14

2657 10

2659 2

2663 4

2671 8

2677 6

2683 6

2687 4

2689 2

2693 4

2699 6

2707 8

2711 4

2713 2

2719 6

2729 10

2731 2

2741 10

2749 8

2753 4

2767 14

2777 10

2789 12

2791 2

2797 6

2801 4

2803 2

2819 16

2833 14

2837 4

2843 6

2851 8

2857 6

2861 4

2879 18

2887 8

2897 10

2903 6

2909 6

2917 8

2927 10

2939 12

2953 14

2957 4

2963 6

2969 6

2971 2

2999 28

3001 2

3011 10

3019 8

3023 4

3037 14

3041 4

3049 8

3061 12

3067 6

3079 12

3083 4

3089 6

3109 20

3119 10

3121 2

3137 16

3163 26

3167 4

3169 2

3181 12

3187 6

3191 4

3203 12

3209 6

3217 8

3221 4

3229 8

3251 22

3253 2

3257 4

3259 2

3271 12

3299 28

3301 2

3307 6

3313 6

3319 6

3323 4

3329 6

3331 2

3343 12

3347 4

3359 12

3361 2

3371 10

3373 2

3389 16

3391 2

3407 16

3413 6

3433 20

3449 16

3457 8

3461 4

3463 2

3467 4

3469 2

3491 22

3499 8

3511 12

3517 6

3527 10

3529 2

3533 4

3539 6

3541 2

3547 6

3557 10

3559 2

3571 12

3581 10

3583 2

3593 10

3607 14

3613 6

3617 4

3623 6

3631 8

3637 6

3643 6

3659 16

3671 12

3673 2

3677 4

3691 14

3697 6

3701 4

3709 8

3719 10

3727 8

3733 6

3739 6

3761 22

3767 6

3769 2

3779 10

3793 14

3797 4

3803 6

3821 18

3823 2

3833 10

3847 14

3851 4

3853 2

3863 10

3877 14

3881 4

3889 8

3907 18

3911 4

3917 6

3919 2

3923 4

3929 6

3931 2

3943 12

3947 4

3967 20

3989 22

4001 12

4003 2

4007 4

4013 6

4019 6

4021 2

4027 6

4049 22

4051 2

4057 6

4073 16

4079 6

4091 12

4093 2

4099 6

4111 12

4127 16

4129 2

4133 4

4139 6

4153 14

4157 4

4159 2

4177 18

4201 24

4211 10

4217 6

4219 2

4229 10

4231 2

4241 10

4243 2

4253 10

4259 6

4261 2

4271 10

4273 2

4283 10

4289 6

4297 8

4327 30

4337 10

4339 2

4349 10

4357 8

4363 6

4373 10

4391 18

4397 6

4409 12

4421 12

4423 2

4441 18

4447 6

4451 4

4457 6

4463 6

4481 18

4483 2

4493 10

4507 14

4513 6

4517 4

4519 2

4523 4

4547 24

4549 2

4561 12

4567 6

4583 16

4591 8

4597 6

4603 6

4621 18

4637 16

4639 2

4643 4

4649 6

4651 2

4657 6

4663 6

4673 10

4679 6

4691 12

4703 12

4721 18

4723 2

4729 6

4733 4

4751 18

4759 8

4783 24

4787 4

4789 2

4793 4

4799 6

4801 2

4813 12

4817 4

4831 14

4861 30

4871 10

4877 6

4889 12

4903 14

4909 6

4919 10

4931 12

4933 2

4937 4

4943 6

4951 8

4957 6

4967 10

4969 2

4973 4

4987 14

4993 6

4999 6

5003 4

5009 6

5011 2

5021 10

5023 2

5039 16

5051 12

5059 8

5077 18

5081 4

5087 6

5099 12

5101 2

5107 6

5113 6

5119 6

5147 28

5153 6

5167 14

5171 4

5179 8

5189 10

5197 8

5209 12

5227 18

5231 4

5233 2

5237 4

5261 24

5273 12

5279 6

5281 2

5297 16

5303 6

5309 6

5323 14

5333 10

5347 14

5351 4

5381 30

5387 6

5393 6

5399 6

5407 8

5413 6

5417 4

5419 2

5431 12

5437 6

5441 4

5443 2

5449 6

5471 22

5477 6

5479 2

5483 4

5501 18

5503 2

5507 4

5519 12

5521 2

5527 6

5531 4

5557 26

5563 6

5569 6

5573 4

5581 8

5591 10

5623 32

5639 16

5641 2

5647 6

5651 4

5653 2

5657 4

5659 2

5669 10

5683 14

5689 6

5693 4

5701 8

5711 10

5717 6

5737 20

5741 4

5743 2

5749 6

5779 30

5783 4

5791 8

5801 10

5807 6

5813 6

5821 8

5827 6

5839 12

5843 4

5849 6

5851 2

5857 6

5861 4

5867 6

5869 2

5879 10

5881 2

5897 16

5903 6

5923 20

5927 4

5939 12

5953 14

5981 28

5987 6

6007 20

6011 4

6029 18

6037 8

6043 6

6047 4

6053 6

6067 14

6073 6

6079 6

6089 10

6091 2

6101 10

6113 12

6121 8

6131 10

6133 2

6143 10

6151 8

6163 12

6173 10

6197 24

6199 2

6203 4

6211 8

6217 6

6221 4

6229 8

6247 18

6257 10

6263 6

6269 6

6271 2

6277 6

6287 10

6299 12

6301 2

6311 10

6317 6

6323 6

6329 6

6337 8

6343 6

6353 10

6359 6

6361 2

6367 6

6373 6

6379 6

6389 10

6397 8

6421 24

6427 6

6449 22

6451 2

6469 18

6473 4

6481 8

6491 10

6521 30

6529 8

6547 18

6551 4

6553 2

6563 10

6569 6

6571 2

6577 6

6581 4

6599 18

6607 8

6619 12

6637 18

6653 16

6659 6

6661 2

6673 12

6679 6

6689 10

6691 2

6701 10

6703 2

6709 6

6719 10

6733 14

6737 4

6761 24

6763 2

6779 16

6781 2

6791 10

6793 2

6803 10

6823 20

6827 4

6829 2

6833 4

6841 8

6857 16

6863 6

6869 6

6871 2

6883 12

6899 16

6907 8

6911 4

6917 6

6947 30

6949 2

6959 10

6961 2

6967 6

6971 4

6977 6

6983 6

6991 8

6997 6

7001 4

7013 12

7019 6

7027 8

7039 12

7043 4

7057 14

7069 12

7079 10

7103 24

7109 6

7121 12

7127 6

7129 2

7151 22

7159 8

7177 18

7187 10

7193 6

7207 14

7211 4

7213 2

7219 6

7229 10

7237 8

7243 6

7247 4

7253 6

7283 30

7297 14

7307 10

7309 2

7321 12

7331 10

7333 2

7349 16

7351 2

7369 18

7393 24

7411 18

7417 6

7433 16

7451 18

7457 6

7459 2

7477 18

7481 4

7487 6

7489 2

7499 10

7507 8

7517 10

7523 6

7529 6

7537 8

7541 4

7547 6

7549 2

7559 10

7561 2

7573 12

7577 4

7583 6

7589 6

7591 2

7603 12

7607 4

7621 14

7639 18

7643 4

7649 6

7669 20

7673 4

7681 8

7687 6

7691 4

7699 8

7703 4

7717 14

7723 6

7727 4

7741 14

7753 12

7757 4

7759 2

7789 30

7793 4

7817 24

7823 6

7829 6

7841 12

7853 12

7867 14

7873 6

7877 4

7879 2

7883 4

7901 18

7907 6

7919 12

7927 8

7933 6

7937 4

7949 12

7951 2

7963 12

7993 30

8009 16

8011 2

8017 6

8039 22

8053 14

8059 6

8069 10

8081 12

8087 6

8089 2

8093 4

8101 8

8111 10

8117 6

8123 6

8147 24

8161 14

8167 6

8171 4

8179 8

8191 12

8209 18

8219 10

8221 2

8231 10

8233 2

8237 4

8243 6

8263 20

8269 6

8273 4

8287 14

8291 4

8293 2

8297 4

8311 14

8317 6

8329 12

8353 24

8363 10

8369 6

8377 8

8387 10

8389 2

8419 30

8423 4

8429 6

8431 2

8443 12

8447 4

8461 14

8467 6

8501 34

8513 12

8521 8

8527 6

8537 10

8539 2

8543 4

8563 20

8573 10

8581 8

8597 16

8599 2

8609 10

8623 14

8627 4

8629 2

8641 12

8647 6

8663 16

8669 6

8677 8

8681 4

8689 8

8693 4

8699 6

8707 8

8713 6

8719 6

8731 12

8737 6

8741 4

8747 6

8753 6

8761 8

8779 18

8783 4

8803 20

8807 4

8819 12

8821 2

8831 10

8837 6

8839 2

8849 10

8861 12

8863 2

8867 4

8887 20

8893 6

8923 30

8929 6

8933 4

8941 8

8951 10

8963 12

8969 6

8971 2

8999 28

9001 2

9007 6

9011 4

9013 2

9029 16

9041 12

9043 2

9049 6

9059 10

9067 8

9091 24

9103 12

9109 6

9127 18

9133 6

9137 4

9151 14

9157 6

9161 4

9173 12

9181 8

9187 6

9199 12

9203 4

9209 6

9221 12

9227 6

9239 12

9241 2

9257 16

9277 20

9281 4

9283 2

9293 10

9311 18

9319 8

9323 4

9337 14

9341 4

9343 2

9349 6

9371 22

9377 6

9391 14

9397 6

9403 6

9413 10

9419 6

9421 2

9431 10

9433 2

9437 4

9439 2

9461 22

9463 2

9467 4

9473 6

9479 6

9491 12

9497 6

9511 14

9521 10

9533 12

9539 6

9547 8

9551 4

9587 36

9601 14

9613 12

9619 6

9623 4

9629 6

9631 2

9643 12

9649 6

9661 12

9677 16

9679 2

9689 10

9697 8

9719 22

9721 2

9733 12

9739 6

9743 4

9749 6

9767 18

9769 2

9781 12

9787 6

9791 4

9803 12

9811 8

9817 6

9829 12

9833 4

9839 6

9851 12

9857 6

9859 2

9871 12

9883 12

9887 4

9901 14

9907 6

9923 16

9929 6

9931 2

9941 10

9949 8

9967 18

9973 6

共有1229个。

求1到100之间的质数,要求用for循环实现,软件为vc++6.0

#includestdio.h

#includemath.h

int prime(int n)

{int i;

for(i=2;i=sqrt(n);i++)

if(n%i==0)return 0;

return 1;

}

int main()

{int i;

for(i=101;i200;i+=2)

if(prime(i))

printf("%d ",i);

return 0;

}


文章标题:go语言求质数 java求质数算法
网站路径:http://ybzwz.com/article/docjpde.html