拿那个数分别去除以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结构从略.
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;
}
关于补充问题:
相邻 不包含斜方向的吧?相邻不就是上下、左右……包含斜线的话,再增加一种情况就可以了。不过用的时间会多点
程序计算出来的!
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个。
#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;
}