华师一附中OI组

标题: 质数判断问题及变形 [打印本页]

作者: admin    时间: 2018-7-26 20:07
标题: 质数判断问题及变形
1、质数的判断
2、孪生质数
3、验证哥德巴赫猜想
作者: JASONZHU    时间: 2018-7-26 21:53
  1. using namespace std;
  2. int i,x;
  3. bool b;
  4. int main()
  5. {
  6.     cout<<"\n===========zhishu I============\n";
  7.     cin>>x;
  8.     i=2;//不能判断1
  9.     b=1;
  10.     while(i*i<=x && b)
  11.     {
  12.         if(x%i==0)
  13.         b=0;
  14.         else i++;
  15.     }
  16.     cout<<b;
  17.     return 0;
  18. }

复制代码

作者: JASONZHU    时间: 2018-7-26 21:54
  1. #include<iostream>
  2. using namespace std;
  3. int i,x;
  4. bool b;
  5. int main()
  6. {
  7.     cout<<"\n===========zhishu II============\n";
  8.     for(x=2;x<=100;x++)
  9.     {
  10.     i=2;//不能判断1
  11.     b=1;
  12.     while(i*i<=x && b)
  13.     {
  14.         if(x%i==0)
  15.         b=0;
  16.         else i++;
  17.     }
  18.     if(b) cout<<x<<' ';
  19.     }
  20.     return 0;
  21. }

复制代码

作者: JASONZHU    时间: 2018-7-26 21:56
  1. #include<iostream>
  2. using namespace std;
  3. int i,x,y,z;
  4. bool b1,b2;
  5. int main()
  6. {
  7.     cout<<"\n===========zhishu III============\n";
  8.     x=100;
  9.     for(y=1;y<=x/2;y++)
  10.     {
  11.     i=2;
  12.     b1=true;
  13.     while(i*i<=y && b1)
  14.     {
  15.         if(y%i==0) b1=false;
  16.         else i++;
  17.     }
  18.     z=x-y;
  19.     i=2;
  20.     b2=true;
  21.     while(i*i<=z && b2)
  22.     {
  23.         if(z%i==0) b2=false;
  24.         else i++;
  25.     }
  26.     if(b1 && b2 && y+z==100) cout<<y<<' '<<z<<endl;
  27.     }
  28.     return 0;
  29. }
复制代码

作者: JASONZHU    时间: 2018-7-26 21:59
  1. #include<iostream>
  2. using namespace std;
  3. int i,y,z,s;
  4. bool b1,b2;
  5. int main()
  6. {
  7.     cout<<"\n===========zhishu IV============\n";
  8.     for(y=2;y<=98;y++)
  9.     {
  10.     i=2;
  11.     b1=true;
  12.     while(i*i<=y && b1)
  13.     {
  14.         if(y%i==0) b1=false;
  15.         else i++;
  16.     }
  17.     z=y+2;
  18.     i=2;
  19.     b2=true;
  20.     while(i*i<=z && b2)
  21.     {
  22.         if(z%i==0) b2=false;
  23.         else i++;
  24.     }
  25.     if(b1 && b2) s++;
  26.     }
  27.     cout<<s;
  28.     return 0;
  29. }
复制代码

作者: JASONZHU    时间: 2018-7-26 22:01
  1. #include<iostream>
  2. using namespace std;
  3. int i,x,s;
  4. bool b;
  5. int main()
  6. {
  7.     cout<<"\n===========zhishu V============\n";
  8.     for(x=2;x<=1000;x++)
  9.     {
  10.     i=2;
  11.     b=1;
  12.     while(i*i<=x && b)
  13.     {
  14.         if(x%i==0)
  15.         b=0;
  16.         else i++;
  17.     }
  18.     if(b)
  19.     {
  20.         s=s+x;
  21.     }
  22.     }
  23.     cout<<s<<" ";
  24.     return 0;
  25. }

复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2