当前位置: 首页 > 计算机 > 问题详情
问题

阅读以下说明和流程图8-11 完成程序(n)处的语句写在对应栏内。[说明]对于数学上一个猜想:任何自然数平方的36倍等于两对孪生素数的和。初始的情形如下:12×36=(5+7)+(11+13)22×36=(29+

阅读以下说明和流程图8-11,完成程序(n)处的语句写在对应栏内。

[说明]

对于数学上一个猜想:任何自然数平方的36倍等于两对孪生素数的和。初始的情形如下:

12×36=(5+7)+(11+13)

22×36=(29+31)+(41+43)

32×36=(11+13)+(149+151)

再往下,N取4,5,6,时,只要N不太大,也都可以找到N(上标)2×36等于两对孪生素数的和。但是当N是一个任意的正整数时,证明N2×36总是等于两对孪生素数的和,这还是一个目前尚未解决的问题。甚至当考察的数较大时,找出一组符合条件的两对孪生素数都是计算量相当大的工作。每尝试一次,都要作4次是否是素数的判断,要作许多次的尝试,才可能找到一组解。下面流程图设计了一种优化算法来对这个猜想进行验证。仔细阅读流程图8-11,完成程序部分。

[程序部分]

main ()

{

int t, i, j, prime_index; is_p rime:

long n, p, p1, p2, p3, p4, s, s1;

long primes [ 16000 ];

for (n=1; n<98; ++n)

{

t=0;

s= n* n* 36;

prime_index= 2;

primes[0]=2; primes[1]=3;

for (p=5: p<=s/2; p=p+2)

{

is_p rime= 1;

for ( i=1;(1)++i)

if ( p%primes [i] = = 0 ) is_p rime= 0;

if ( is_p rime)

{

(2)

}

}

for ( i=1; (3)++i)

{

(4)

if ( p2=p1+ 2 )

{

s1=s- (p1+p2)

p3=sl/2-1; p4=p3+2:

for ( j=0; j<=prime_index-1; ++j )

if ((5))

{

printf ( "%d* % d*36= (%d+ %d) + (%d+%d) \n", \ n,n, p1, p2, p3, p4 ) ;

++t;

}

}

}

if ( t! = 0 ) printf ("%d\n", t )

else

printf ( "%d* %d*36=no so lution\n ", n, n ) ; }

}

}

发布时间:2024-05-07
参考答案

正确答案:(1)is_prime &&(p/primes[i]>=primes[i]);(2)primes[prime_index]=p;++prime_index;(3)primes[i]=s/4 && i=prime_index-1(4)p1=primes[i];p2=primes[i+1];(5) p3==primes[j]&&p4==primes [j+1]
(1)is_prime &&(p/primes[i]>=primes[i]);(2)primes[prime_index]=p;++prime_index;(3)primes[i]=s/4 && i=prime_index-1(4)p1=primes[i];p2=primes[i+1];(5) p3==primes[j]&&p4==primes [j+1] 解析:本题属于流程图题。该算法完成了对一数学猜想的验证。本题流程图与代码对应得很好,难度不大,做题时一定要结合流程图。

相关问题
  • 阅读以下说明和C函数 填补代码中的空缺(1)~(5) 将解答填

    阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则

    答案解析
  • 按照RSA算法 取两个最大素数p和q n=p*q 令φ(n)=(p-1)*

    按照RSA算法,取两个最大素数p和q,n=p*q,令φ(n)=(p-1)*(q-1),取与φ(n)互质的数e,d=e-1 mod φ(n),如果用M表示消息,用C表示密文,下面

    答案解析
  • 试题1下列程序的功能是:找出所有100以内(含100)满足i i+4 i

    试题1下列程序的功能是:找出所有100以内(含100)满足i,i+4,i+10都是素数的整数i(i+10也在100以内)的个数cnt以及这些i之和sum。请编写函数countvalue()

    答案解析
  • 已知数据文件IN.DAT中存有300个四位数 并已调用读函数READDAT(

    已知数据文件IN DAT中存有300个四位数,并已调用读函数READDAT() 把这些数存入数组a中。请编制函数Svalue(),其功能是:求出这些四位数中素数的个数cnt

    答案解析
  • 下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx中。

    下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx中。请编写函数num(int m, int k, int xx[])实现程序的要求,最后调用函数readwriteDAT()

    答案解析
  • 下列程序的功能是输入一个整数 判断是否是素数 若为素数 则输

    下列程序的功能是输入一个整数,判断是否是素数,若为素数,则输出1,否则输出0,请填空。main(){ int i, x, y=1; scanf("%d", &x); for(i=2;

    答案解析
  • 以下ispeime函数的功能是判断形参a是否为素数 是素数 函数返回

    以下ispeime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。int isprime(int a){int i; for(i=2;i<=a 2;【】) if(a%i= =0) return(0); 【】;}

    答案解析
  • (11)下列程序用于在带垂直滚动条的文本框Text1中输出3到100之

    (11)下列程序用于在带垂直滚动条的文本框Text1中输出3到100之间的全部素数。请填空。 Private Sub Command1_Click() Text1 Text="" For n=3 To

    答案解析
  • 以下哪种加密算法是基于大素数分解的难题()。()A. DESB. M

    以下哪种加密算法是基于大素数分解的难题()。()A DES B MD5 C RSA D RC4

    答案解析
  • 【程序说明】 程序功能是求1到100之间的所有素数。【程序】SET

    【程序说明】 程序功能是求1到100之间的所有素数。【程序】SET TALK OFFCLEARJ=2DO WHILE J<=100I=2DO WHILE (5)IF MOD(J,I)=0(6)ENDIFI=I

    答案解析

最新问题

Copyright © 2016-2023 114题库网(114158.com)All Rights Reserved.  免责声明 豫ICP备19007809号-5