早教吧作业答案频道 -->其他-->
编程(孪生素数)输入一个正整数repeat(repeat大于0且小于10),做repeat次下列运算:输入2个正整数m和n,输出m到n间的各对孪生素数i和j(m小于等于i小于j小于等于n)。如果两个素数之差为2,
题目详情
编程(孪生素数)
输入一个正整数repeat (repeat大于0且小于10),做repeat次下列运算:
输入2个正整数m 和n,输出m到n间的各对孪生素数i和j(m小于等于i小于j小于等于n)。如果两个素数之差为2, 称它们是一对孪生素数(素数: 除了1和此数本身之外, 不能被其它整数整除的自然数, 1不是素数, 2是素数)。函数prime(k)判断k是否为素数,每对孪生素数的第1个数i存入数组a。
输入一个正整数repeat (repeat大于0且小于10),做repeat次下列运算:
输入2个正整数m 和n,输出m到n间的各对孪生素数i和j(m小于等于i小于j小于等于n)。如果两个素数之差为2, 称它们是一对孪生素数(素数: 除了1和此数本身之外, 不能被其它整数整除的自然数, 1不是素数, 2是素数)。函数prime(k)判断k是否为素数,每对孪生素数的第1个数i存入数组a。
▼优质解答
答案和解析
楼主的两个for循环用的不对,另外整个流程也是有问题的。改正的代码如下:
#include#include int main(){ int a,b; /* 输入的两个数据范围 */ int i,j,k; int num=0, s; /* 素数个数, 素数标志 */ scanf( "%d %d", &a,&b ); for( i=a;i+2<=b;i++ ) { s = 1; /* 先假设i是素数 */ k = sqrt(i); for( j=2;j<=k;j++ ) { if( i%j == 0 ) { s = 0; /* i不是素数 */ break; } } if( s ) { k = sqrt( i+2 ); for( j=2;j<=k;j++ ) { if( (i+2)%j == 0 ) { s = 0; /* i+2不是素数 */ break; } } if( s ) { ++num; /* i+2是素数 */ printf( "第%d个孪生素数[%d,%d]\n", num, i, i+2 ); } } } return 0;}
二、用GCC编译测试结果:
#include
二、用GCC编译测试结果:
看了编程(孪生素数)输入一个正整数...的网友还看了以下:
高分!求乱码翻译!急!彻W(T€\1QlW(0\2?徢bKg:OS殒bKg:T\3檓N员?b彻l? 2020-04-06 …
线性代数实对称矩阵特征向量问题设三阶实对称矩阵特征值r1=r2=4,r3=2,向量X1=(1,1, 2020-04-13 …
设函数f(x)=tx²2t²x+t-1(x∈R,t>0),(1)求f(x)的最小值h(t);(2) 2020-05-23 …
设函数f(x)=tx²+2t²x+t-1(t∈R,t>0)(1)求f(x)的最小值h(t)(2)若 2020-06-02 …
置点沿半径为R的圆周作匀速度圆周运动,每T秒转一圈,在2T时间间隔中,其平均速度大小与平均速率分别 2020-06-15 …
请问如何用通解求得非齐次方程组已知通解为(1,0,0,1)^T+c1(1,1,0,-1)^T+c2 2020-07-09 …
设a1=1,0,1,0,2)^T,a2=(2,1,-1,2)^T,a3=(-1,2,5,0,2)^ 2020-07-19 …
已知:已知椭圆C:x^2/a^2+y^2/b^2=1(a>b>0)的离心率e=3分之根号6,短轴一 2020-07-31 …
水题~列出下列集合的元素{x|x∈N∧任意t(t整除2→x≠t)}答案是N-{11,2},但是我觉得 2020-11-01 …
(X=R*cost(y=R*sint表示什么曲线?(R是正常数,t在[0,2*3.1415)内无变化 2020-11-04 …