网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
回文素数是指一个数同时为素数和回文数。例:131、191 编写程序,要求输入回文素数的起止范围,将范围内的回文素数显示出来,每行显示5个数,注意每列要准确对齐。 运行事例如下: 请输入回文素数的起止范围: 5 500 5-500范围内的回文素数如下: 5 7 11 101 131 151 181 191 313 353 373 383
参考答案和解析
A 素数是只能被1和它本身整除的数,因此本题第二空填写False。click函数主要有两个功能,一个是返序,另一个是判断是不是回文素数。在for循环中判断k是不是回文素数,rn是代表即将判断的数字,也就是k。
更多 “回文素数是指一个数同时为素数和回文数。例:131、191 编写程序,要求输入回文素数的起止范围,将范围内的回文素数显示出来,每行显示5个数,注意每列要准确对齐。 运行事例如下: 请输入回文素数的起止范围: 5 500 5-500范围内的回文素数如下: 5 7 11 101 131 151 181 191 313 353 373 383” 相关考题
考题
阅读下列程序说明和C代码,回答问题1~2。[说明]本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,井取走3的倍数,于是留下5、7。反复重复上述步骤,直至筛中为空时,工作结束,求得2至 10中的全部素数。程序中用数组sieve表示筛子,数组元素sieve[i]的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。[程序]include < stdio, h >define MAX 22500main( ){ unsigned int i , range , factor , k;int sieve[MAX];prinff( "please input the 'range:" );scanf(" %d" ,range); /* range 指出在多大的范围内寻找素数* /for(i=2 ;i=range; i++) (1); /*筛子初始化*/factor = 2 ;while (factor < = range) {if((2)= = 1)l /*筛子中最小数是素数*/pfinff( "% d\t" ,factor);k = factor;while (k < =range) { /* 取走素数的倍数*/(3);k=(4);factor + +;}}[问题1]将程序代码中的(1)~(4)处补充完整。[问题2]在上述代码的执行过程中,若factor为5,从筛子中取走的头两个数是5和(5)。
考题
下列程序的功能是:计算500~800之间素数的个数cnt,并按所求素数的值从小到大的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum输出到文件OUT66.DAT中。注意:部分源程序已给出。请勿改动主函数mam()和写函数writeDAT()的内容。试题程序:include<stdio. h>int cnt, sum;void countValue ( ){}void main (){cnt= sum=0;countValue();printf ("素数的个数=%dkn", cnt );printf ("按要求计算得值=%d\n", sum );writeDAT ( );}writeDAT ( ){FILE *fp;fp=fopen ( "OUT66. DAT", "w" );fprintf (fp, "%d\n%d\n", cnt, sum);fclose (fp);}
考题
阅读以下说明和C程序代码,将应填入(n)处的字句写在对应栏内。【说明】下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。【C程序代码】include <stdio.h>include <stdlib.h>int isPalm(long m){ /*判断m是否为回文数*/int i = 0, k = 0;char str[32];while (m > 0) { /*从个位数开始逐个取出m的各位数字并存入字符数组str*/str[k++] =(1)+ '0';m = m / 10;}for(i = 0; i < k/2; i++) /*判断str中的k个数字字符序列是否是回文*/if ( str[i] != str[(2)] ) return 0;return 1;}int main ( ){long n, a, t;printf("input a positive integer:"); scanf("%ld",n);if (n < 100 || n > =1000) return -1 ;while((3)) { /*n不是回文数时执行循环*/printf("%ld-> ", n);for(a = 0, t = n; t > 0; ) { /*计算n的反序数并存入a*/a =(4)*10 + t % 10; t = t / 10;} /*end of for*/n =(5); /*与反序数求和*/} /*end of while*/printf ("%id\n",n);system("pause"); return 0;}
考题
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。【说明】本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9;重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直到筛中为空时,工作结束,求得2~10中的全部素数。【代码】include <stdio.h>define MAX 22500/*程序中用数组sieve表示筛子,数组元素sieve[i]的值为1时,表示数i在筛子中,值为-1时表示数i已被取走*/main(){ unsigned int i, range, factor, k;int sieve[MAX];printf("please input the range:");scanf("%d", range);/* range 指出在多大的范围内寻找素数*/for(i=2; i<=range; i++)(1);factor=2;while (factor<=range){ if((2)) /* 筛中最小数是素数 */{ printf("%d\t", factor);k=factor;while (k<=range) /*移走素数的倍数 */{ (3);k=(4);}}(5);}}
考题
下列程序的功能是:输出10到100之间的所有回文素数。所谓回文素数是指,如果一个数是素数,则该数反序后形成的数也是素数。例如,13是素数,13反序形成得到数为31,31也是素数,则称13为回文素数。Private Sub Command1 2_Click( )Dim k As Integer,m As Integer,n AsIntegerFor k=10 T0 100If prim(k)Thenm=__________n=0Do While m0N=n*10+Im Mod l0M=m/10LoopIf prim(n)ThenMsgBox k“,”nEnd IfEnd IfNext kEnd SubPublic Function prim(n As Integer)As BooleanDim j As IntegerFor j=2 To n/2If n Mod J=0 Thenprim=__________Exit FunctionEnd IfNext jprim=TrueExit FunctionEnd Function横线处应填写的内容是( )。A.k FakeB.k TrueC.m FalseD.n True
考题
B.判断longint范围内的数是否为素数(包含求50000以内的素数表):procedure getprime;vari,j:longint;p:array[1..50000] of boolean;
考题
程序test.c的功能是:计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,即第1个素数.第2个素数+第3个素数.第4个素数+第5个素数…的值sum。请编写函数count Value实现程序的要求,最后main函数调用函数writeOAT把结果cnt和Sum,输出到文件out.dat中。
考题
在考生文件夹下有一个工程文件sjt5.vbp。在窗体文件中已经给出了全部控件及部分程序。程序运行时,在文本框Text1中输入一个大于2的偶数,并单击“分解为”按钮,则可以将该偶数分解为两个素数之和,且要求其中一一个素数是所能够分解出的最小的素数(一个偶数有时可以分解为多种素数的组合,例如24可以分解为5和19,也可以分解为11和13,要求取含有最小素数的组合,如图8所示)。要求编写“分解为”按钮事件过程中“考生编写程序开始”和“考生编写程序结束”之间的代码.以实现上述功能。过程IsPrime用来判断一个数是否为素数,如果是,返回值为True,否则返叵值为False。 注意:不得修改原有程序和控件的属性。至少正确运行一次程序,且运行时在文本框中输入23456,单击“分解为”按钮,将结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。
考题
试题二(共 15 分)阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511 相加,得到的 1661 是回文数。 函数 int isPalm(long m)的功能是:将正整数 m的各位数字取出存入数组中,然后判断其是否为回文数。若 m是回文数则返回 1,否则返回 0。[C 程序代码]#include stdio.h#include stdlib.hint isPalm(long m){ /*判断 m是否为回文数*/int i = 0, k = 0;char str[32];while (m 0) { /*从个位数开始逐个取出 m的各位数字并存入字符数组 str*/str[k++] = (1) + '0';m = m / 10;}for(i = 0; i k/2; i++) /*判断 str中的 k 个数字字符序列是否是回文*/if ( str[i] != str[ (2) ] ) return 0;return 1;}int main( ){long n, a, t;printf("input a positive integer:"); scanf("%ld",n);if (n 100 || n =1000) return -1 ;while( (3) ) { /*n 不是回文数时执行循环*/printf("%ld - ", n);for(a = 0, t = n; t 0; ) { /*计算 n 的反序数并存入 a*/a = (4) *10 + t % 10; t = t / 10;} /*end of for*/n = (5) ; /*与反序数求和*/} /*end of while*/printf("%ld\n",n);system("pause"); return 0;}
考题
素数是指只含有两个因子的自然数(即只能被自身和1整除)。孪生素数,是指两个相差为2的素数。比如,3和5,17和19等。所谓的孪生素数猜想,是由希腊数学家欧几里得提出的,意思是存在着无穷对孪生素数。该论题一直末得到证明。近期,美国一位华人讲师的最新研究表明,虽然还无法证明存在无穷多个之差为2的素数对,但存在无穷多个之差小于7000万的素数对。有关方面认为,如果这个结果成立,那么将是数论发展的一项重大突破。
以下哪项如果为真,最能支持有关方面的观点?()
A.这位华人讲师长期从事数学领域的相关教学和科研工作
B.关于孪生素数猜想的证明需要一个漫长的、逐步推进的过程
C.这是第一次有人正式证明存在无穷多组间距小于定值的素数对
D. 7000万这个数字很大,离孪生素数猜想给出的2还有很大距离
考题
所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。
考题
问答题所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。
热门标签
最新试卷