include <math.h> int prime(int n){ int i;if(n<2)return 0;for(i=2;i<=sqrt(n);i++)if(n%i==0)return 0;return 1;} void main(){ int i,m,n;printf("m:");scanf("%d",&m);printf("n:");scanf("%d",&n);for(i=m;i<=n-2;i++)if(prime(i) && prime(i+...
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!首先明白什么事孪生素数:孪生素数就是指相差2的素数对,例如 3和5,5和7,11和13。然后看代码:非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
也就不会执行循环体内的程序解决办法是将for(int j=2;……)改为for(int j=1;……)将循环体内的if(i%j==0)改为if(j!=1 && i%j==0)更简单的办法是不利用平方根求素数的捷径,而是直接对小于i的所有整数进行判断。
printf("第 %d 对:%d/%d\n", ct, i, i + 2);} i += 2;} return 0;}