• POJ3006Dirichlet's Theorem on Arithmetic Progressions


    转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299074452

    题目大意

    狄利克雷基于等差数列的算法原理

     

    设一个等差数列,首元素为a,公差为b

    现在要求输入a,b,n ,要求找出属于该等差数列中的第n个素数并输出

     1 //Memory Time 
    2 //260K 141MS
    3
    4 #include<iostream>
    5 using namespace std;
    6
    7 bool judge_prime(int temp)
    8 {
    9 int k,flag=1;
    10 int num=2;
    11 if(temp==2)
    12 return true;
    13 else if(temp==1||temp%2==0)
    14 return false;
    15 else
    16 {
    17 for(k=3;k*k<=temp;k+=2)
    18 if(temp%k==0)
    19 {
    20 flag=0;
    21 break;
    22 }
    23 }
    24 if(flag)
    25 return true;
    26 else
    27 return false;
    28 }
    29
    30 int main(void)
    31 {
    32 int a,b,n,i,temp;
    33 for(;;)
    34 {
    35 int flag=0;
    36 cin>>a>>b>>n;
    37 if(b==0&&n==0||a==0||a>9307||b>346||n>210)
    38 break;
    39 if(b==0&&judge_prime(a)==false)
    40 break;
    41 for(i=0;flag!=n;i++)
    42 {
    43 temp=a+i*b;
    44 if(judge_prime(temp))
    45 flag++;
    46 }
    47 cout<<temp<<endl;
    48 }
    49 return 0;
    50 }
    [ EXP技术分享博客 ] 版权所有,转载请注明出处: http://exp-blog.com
  • 相关阅读:
    垃圾收集器
    垃圾收集算法
    JVM内存模型
    工厂方法模式
    类加载机制
    六大设计原则
    单例模式
    HFish开源蜜罐搭建
    利用metasploit复现永恒之蓝
    零信任网络初识
  • 原文地址:https://www.cnblogs.com/lyy289065406/p/2120488.html
Copyright © 2020-2023  润新知