搜索
查看: 495|回复: 3
打印 上一主题 下一主题

【笔记】孪生质数

[复制链接]
跳转到指定楼层
楼主
发表于 2016-10-7 14:40:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 吐兔弘 于 2016-10-11 21:02 编辑

嗯,这段代码是转的
[mw_shl_code=c,true]#include <stdio.h>
#include <conio.h>
#include <math.h>
int prime(int n)
{
  int r,i;         
  r=sqrt(n);
  for(i=2;i<=r;i++)
   {  
    if(n%i==0)  //此处n%i==0,说明不是素数,立刻跳出循环
       return 0;  
    }
    return 1;
}
int main ()
{
  int m,n,i,t=0;
  printf("请输入范围m,n\n");
  scanf("%d%d",&m,&n);
  for(i=m;i<=n-2;i++)   //此处限制i<=n-2,不然prime(i+2)超过范围;另外i每次自加1,                       //不能加2
   {
    if (prime(i)&&prime(i+2))
     {  
      t+=1;  
      printf("(%d,%d)\n",i,i+2);
     }
   }
  printf("%d\n",t);     
  if(t==0)   
  printf("无孪生素数!");  
  getch();
}[/mw_shl_code]

另一个(这个是自己写的)
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>

int isprime(int m)
{
        int i;
        for(i=2; i<=m/2; i++)
        {
                if(m%i==0)
                {
                        return 0;
                }
               
        }
        
        return 1;
}

int main()
{
        int i, ans=1;
        
        for(i=100; i<=200; i++)
        {
                if(isprime(i) && isprime(i+2))
                        ans++;
               
        }
        printf("%d",ans);
        
        
        getch();getch();
        return 0;
}[/mw_shl_code]
沙发
发表于 2016-10-7 17:19:34 | 只看该作者
+1s                                             
板凳
发表于 2016-10-22 19:51:15 | 只看该作者
+2s[b][b][b][b][b][b][b]
地板
发表于 2016-11-21 23:25:23 | 只看该作者
ans 应该初始为0                                          
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表