云卷卷快到我碗里吧 关注:18贴子:2,158
  • 2回复贴,共1


IP属地:上海1楼2016-10-30 20:49回复
    #include<RandomNumber.h>
    int gcd(int a,int b)
    {
    if(b==0) return a;
    else return gcd(b,a%b);
    }
    void Pollard(int n)
    {
    RandomNumber rnd;
    int i=1;
    int x=rnd.Random(n);
    int y=x;
    int k=2;
    while(true)
    {
    i++;
    x=(x*x-1)%n;
    int d=gcd(y-x,n);
    if((d>1)&&(d<n)) cout<<d<<endl;
    if(i==k){
    y=x;
    k*2;}
    }
    }
    void main
    {
    int n;
    cout<<请输入一个数字<<endl;
    cin>>n;
    int result=Pollard(n);
    cout<<result<<endl;
    }


    IP属地:上海2楼2016-10-30 20:49
    回复
      这是什么意思啊


      IP属地:广东来自Android客户端3楼2017-02-13 09:53
      回复