素数的求法A.小范围内判断一个数是否为质数:function prime (n: integer): Boolean;var I: integer;

素数的求法

A.小范围内判断一个数是否为质数:

function prime (n: integer): Boolean;

var I: integer;


相关考题:

下列程序用于判断一个整数是否为质数,试将程序补充完整。Private Sub Command1_Click()Dim n As Integern = InputBox("请输入")t = Int(Sqr(n))i = 2flag = 0While i <= t And flag = 0If ______Thenflag = 1Else: i = i + 1End IfWendIf ______ThenPrint "这是一个质数"ElsePrint "这不是一个质数"End IfEnd Sub

阅读以下说明和流程图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 )elseprintf ( "%d* %d*36=no so lution\n ", n, n ) ; }}}

下面的算法是判断n是否为素数,其算法时间复杂度为()。 void prime(int n) { 判断n是否是素数 */ for (i=2; i<sqrt(n) (n % i)!=0; i++) ; if (i>sqrt(n)) printf("%d is a prime number", n); else printf("%d is not a prime number", n); }A.O(n)B.O(1)C.O(sqrt(n)) sqrt表示对n取根方D.O(n-i)

2、判断一个数是否为素数

使用函数计算素数个数并求和:输入两个正整数m和n(1<=m, n<=5000),统计并输出m和n之间的素数的个数以及这些素数的和。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数是返回1,否则返回0.

编写程序。输入一个正整数判断其是否是质数。要求设计一个函数对正整数n是否是质数进行判断,是质数函数返回1,不是质数返回0。

如下程序用于判断一个用户输入的正整数是否是素数,import math num=int(input("请输入一个数:")) top=int(math.sqrt(num)) i=2 while i<=top: if num%i==0:break #修改素数标志 i=i+1 if i==______ and num>1: print(num,"是素数。") else: print(num,"不是素数。") 其中第8行的下划线出应该是________A.i==topB.i==top+1C.i==numD.i==num+1

填空,输出100以内所有的素数(质数) int i,a; for(a=2;a<=100;a++){ If(a%i==0) _______; If(i==a) printf(“%d”,a); }

编写一个函数Prime(n),从键盘中输入一个正整数n,判断该数是否为素数,如果是素数则输出“该数是素数”,如果不是,则输出“该数不是素数”。所谓素数是指一个正整数只能被1和自己整除,不能被其他任何整数整除。