大家好,欢迎来到IT知识分享网。
题目描述:
数学上把相差为22的两个质数叫做“孪生质数”。孪生质数并不少见,例如:33和55,55和77,1111和1313。人们已经知道:小于0的自然数中有对孪生质数;小于000的自然数中有对孪生质数;小于00000的自然数中有2对孪生质数;而目前所知道的最大的孪生质数对是:9649和9651
那么,孪生质数会不会有无穷多对?这个问题至今没有解决。现在请你编写一个程序,来帮助数学家解决该问题,根据数学家输入的一个范围,给出该范围内所有的孪生质数。
输入
输入两个整数m,n(00<m<n)表示范围[m,n]
m,n≤
输出
输出[m,n]中的所有孪生素数对
输入样例 1
1 13
输出样例 1
3 5 5 7 11 13
#include<stdio.h> #include<math.h> int isPrime(int num) { if(num==1) { return 0; } int i; for(i=2;i<=sqrt(num);i++) { if(num%i==0) { return 0; } } return 1;//是素数 } int main() { int m,n; scanf("%d %d",&m,&n); for(m>0;m<=n-2;m++) { if(isPrime(m)&&isPrime(m+2)) { printf("%d %d\n",m,m+2); } } return 0; }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150058.html