亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? williams.cpp

?? 實現(xiàn)的文件的加密解密算法
?? CPP
字號:
/*
 *   Program to factor big numbers using Williams (p+1) method.
 *   Works when for some prime divisor p of n, p+1 has only
 *   small factors.
 *   See "Speeding the Pollard and Elliptic Curve Methods"
 *   by Peter Montgomery, Math. Comp. Vol. 48. Jan. 1987 pp243-264
 *
 *   Requires: big.cpp zzn.cpp
 *
 *   Copyright (c) 1988-1999 Shamus Software Ltd.
 */

#include <iostream>
#include <iomanip>

#include "zzn.h"

using namespace std;

#define LIMIT1 10000    /* must be int, and > MULT/2 */
#define LIMIT2 500000L  /* may be long */
#define NEXT   13       /* next small prime */
#define MULT   2310      /* must be int, product of small primes 2.3.. */
#define NTRYS  3        /* number of attempts */

Miracl precision=50;   /* number of ints per ZZn */

miracl *mip;
static long p;
static int iv;
static ZZn b,q,fvw,fd,fp,fn,fu[1+MULT/2];
static BOOL cp[1+MULT/2],plus[1+MULT/2],minus[1+MULT/2];

void marks(long start)
{ /* mark non-primes in this interval. Note    *
   * that those < NEXT are dealt with already  */
    int i,pr,j,k;
    for (j=1;j<=MULT/2;j+=2) plus[j]=minus[j]=TRUE;
    for (i=0;;i++)
    { /* mark in both directions */
        pr=mip->PRIMES[i];
        if (pr<NEXT) continue;
        if ((long)pr*pr>start) break;
        k=pr-start%pr;
        for (j=k;j<=MULT/2;j+=pr)
            plus[j]=FALSE;
        k=start%pr;
        for (j=k;j<=MULT/2;j+=pr)
            minus[j]=FALSE;
    }        
}

void next_phase()
{ /* now change gear */
    ZZn t;
    long interval;
    fp=fu[1]=b;
    fd=b*b-2;
    fn=fd*b-b;
    for (int m=5;m<=MULT/2;m+=2)
    { /* store fu[m] = Vm(b) */
        t=fn*fd-fp;
        fp=fn;
        fn=t;
        if (!cp[m]) continue;
        fu[m]=t;
    }
    fd=luc(b,MULT);
    iv=p/MULT;
    if (p%MULT>MULT/2) iv++;
    interval=(long)iv*MULT;
    p=interval+1;
    marks(interval);
    fvw=luc(fd,iv,&fp);
    q=fvw-fu[p%MULT];
}

int giant_step()
{ /* increment giant step */
    long interval;
    ZZn t;
    iv++;
    interval=(long)iv*MULT;
    p=interval+1;
    marks(interval);
    t=fvw;
    fvw=fvw*fd-fp;
    fp=t;
    return 1;
}

int main()
{  /*  factoring program using Williams (p+1) method */
    int k,phase,m,nt,pos,btch;
    long i,pa;
    Big n,t;
    mip=&precision;
    gprime(LIMIT1);
    for (m=1;m<=MULT/2;m+=2)
        if (igcd(MULT,m)==1) cp[m]=TRUE;
        else                 cp[m]=FALSE;
    cout << "input number to be factored\n";
    cin >> n;
    if (prime(n))
    {
        cout << "this number is prime!\n";
        return 0;
    }
    modulo(n);                     /* do all arithmetic mod n */
    for (nt=0,k=3;k<10;k++)
    { /* try more than once for p+1 condition (may be p-1) */
        b=k;                       /* try b=3,4,5..        */
        nt++;
        phase=1;
        p=0;
        btch=50;
        i=0;
        cout << "phase 1 - trying all primes less than " << LIMIT1;
        cout << "\nprime= " << setw(8) << p;
        forever
        { /* main loop */
            if (phase==1)
            { /* looking for all factors of p+1 < LIMIT1 */
                p=mip->PRIMES[i];
                if (mip->PRIMES[i+1]==0)
                { /* now change gear */
                    phase=2;
                    cout << "\nphase 2 - trying last prime less than ";
                    cout << LIMIT2 << "\nprime= " << setw(8) << p;
                    next_phase();
                    btch*=100;
                    i++;
                    continue;
                }
                pa=p;
                while ((LIMIT1/p) > pa) pa*=p;
                q=luc(b,(int)pa);
                b=q;
                q-=2;
            }
            else
            { /* looking for last large prime factor of (p+1) */
                p+=2;
                pos=p%MULT;
                if (pos>MULT/2) pos=giant_step();
                if (!cp[pos]) continue;

        /* if neither interval+/-pos is prime, don't bother */

                if (!plus[pos] && !minus[pos]) continue;
                q*=(fvw-fu[pos]);  /* batching gcds */
            }
            if (i++%btch==0)
            { /* try for a solution */
                cout << "\b\b\b\b\b\b\b\b" << setw(8) << p << flush;
                t=gcd(q,n);
                if (t==1)
                {
                    if (p>LIMIT2) break;
                    else continue;
                }
                if (t==n)
                {
                    cout << "\ndegenerate case";
                    break;
                }
                if (prime(t)) cout << "\nprime factor     " << t;
                else          cout << "\ncomposite factor " << t;
                n/=t;
                if (prime(n)) cout << "\nprime factor     " << n;
                else          cout << "\ncomposite factor " << n;
                return 0;
            }
        } 
        if (nt>=NTRYS) break;
        cout << "\ntrying again\n";
    }
    cout << "\nfailed to factor\n";
    return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷国产在线综合| 国产精品影视在线观看| 久久爱www久久做| 91在线无精精品入口| 91精品国产综合久久精品| 国产精品视频线看| 九九国产精品视频| 欧美日韩亚洲综合一区| 欧美国产成人精品| 国产自产v一区二区三区c| 欧美三级电影网| 日韩美女精品在线| 国产精品羞羞答答xxdd| 欧美一级理论性理论a| 一区二区三区国产精华| 成人免费视频网站在线观看| 日韩欧美电影一二三| 午夜一区二区三区视频| 色呦呦网站一区| 国产精品国产三级国产a| 国产东北露脸精品视频| 日韩美女主播在线视频一区二区三区| 一区二区三区日韩| 一本久道中文字幕精品亚洲嫩| 欧美国产一区视频在线观看| 国产一区二区影院| 精品第一国产综合精品aⅴ| 午夜精品久久久久久久蜜桃app| 99精品在线免费| 亚洲人成7777| 欧洲一区二区三区在线| 亚洲精品伦理在线| 91福利在线免费观看| 亚洲精品欧美激情| 欧美影视一区在线| 亚洲最大色网站| 欧美性猛片aaaaaaa做受| 一区二区三区四区乱视频| 99久久精品国产网站| 亚洲欧美日韩在线不卡| 欧美婷婷六月丁香综合色| 亚洲香蕉伊在人在线观| 欧美区视频在线观看| 日韩av不卡在线观看| 日韩免费视频线观看| 国产在线精品一区二区| 欧美激情在线免费观看| 9l国产精品久久久久麻豆| 亚洲欧美aⅴ...| 精品视频免费在线| 美女精品自拍一二三四| 久久先锋影音av鲁色资源网| 高清日韩电视剧大全免费| 国产精品久久综合| 色欧美片视频在线观看| 日韩电影网1区2区| 久久亚洲精品国产精品紫薇| av成人动漫在线观看| 亚洲午夜久久久久久久久电影院| 欧美电影在线免费观看| 国产精品一区一区| 夜夜精品浪潮av一区二区三区| 欧美精品一卡二卡| 国产成人一区二区精品非洲| 亚洲精品成人在线| 日韩欧美www| k8久久久一区二区三区| 丝袜美腿成人在线| 日本一区免费视频| 欧美亚洲综合另类| 国产资源在线一区| 亚洲一本大道在线| 亚洲国产精品激情在线观看| 欧美午夜在线观看| 国产99久久久精品| 日韩专区在线视频| 国产欧美日韩另类视频免费观看| 欧洲色大大久久| 国产精品18久久久久久久久| 亚洲777理论| 中文字幕制服丝袜成人av | 亚洲国产综合视频在线观看| 日韩欧美中文一区二区| 91蜜桃免费观看视频| 久99久精品视频免费观看| 一二三区精品福利视频| 久久一留热品黄| 欧美乱熟臀69xxxxxx| 99国产精品久久久| 国产在线乱码一区二区三区| 亚洲成av人片在www色猫咪| 国产亚洲成aⅴ人片在线观看| 欧美揉bbbbb揉bbbbb| 97精品久久久午夜一区二区三区| 国内外成人在线| 日本午夜精品视频在线观看| 一区二区三区四区五区视频在线观看 | 国产精品欧美一区喷水| 日韩亚洲欧美一区二区三区| 99国产精品视频免费观看| 韩国成人精品a∨在线观看| 午夜精品久久久久久不卡8050| 亚洲日本在线a| 国产精品无人区| 欧美激情在线看| 国产欧美日韩视频一区二区| 精品国产乱码久久久久久牛牛| 这里只有精品免费| 欧美丰满高潮xxxx喷水动漫| 欧洲激情一区二区| 91久久精品一区二区三| 99久久99久久精品国产片果冻| 粉嫩aⅴ一区二区三区四区| 国产精品99久久久久久久vr | 日韩一区二区三区精品视频| 欧美日韩视频在线一区二区| 欧美这里有精品| 欧美性大战久久久久久久 | 91精品视频网| 欧美乱妇一区二区三区不卡视频| 欧美日韩一级视频| 欧美卡1卡2卡| 日韩欧美一区二区不卡| 日韩欧美高清在线| 久久免费看少妇高潮| 亚洲黄网站在线观看| 亚洲午夜国产一区99re久久| 视频一区二区国产| 久久se这里有精品| 国产成a人亚洲| 成人免费毛片片v| 色香蕉成人二区免费| 日本伦理一区二区| 91精品国产色综合久久ai换脸| 91精品国产入口| 国产日韩精品一区二区三区 | 亚洲福利一区二区三区| 亚洲成a天堂v人片| 久久99精品网久久| 高清beeg欧美| 欧美性猛片aaaaaaa做受| 日韩精品一区国产麻豆| 久久精品视频一区| 亚洲乱码国产乱码精品精小说| 亚洲成人免费影院| 国产精品一区免费在线观看| 色综合色狠狠天天综合色| 欧美一区二区黄| 国产精品入口麻豆原神| 一区二区三区成人| 九九视频精品免费| 91激情在线视频| 久久综合精品国产一区二区三区| 中文字幕一区二区三区四区| 日韩精品每日更新| 成人app在线| 日韩欧美国产wwwww| 亚洲三级久久久| 九色|91porny| 欧美怡红院视频| 欧美激情一区在线观看| 日韩精品久久久久久| 不卡av在线免费观看| 日韩无一区二区| 亚洲一区二区不卡免费| 亚洲激情在线激情| 国产精品亚洲综合一区在线观看| 欧美视频一区二区三区四区| 久久久久久久久99精品| 午夜欧美在线一二页| 99国内精品久久| 国产欧美视频在线观看| 日本中文在线一区| 在线欧美小视频| 中文字幕制服丝袜一区二区三区 | 欧美日韩精品综合在线| 亚洲国产精品成人综合| 美国一区二区三区在线播放| 日本韩国精品在线| 国产精品久久久久9999吃药| 精品一区二区三区蜜桃| 欧美另类videos死尸| 亚洲天堂a在线| 成人福利视频在线看| 久久色.com| 国产在线国偷精品免费看| 欧美精品1区2区3区| 一区二区三区不卡视频| 91啪亚洲精品| 亚洲日本电影在线| www.亚洲在线| 亚洲国产精品传媒在线观看| 国产精品亚洲人在线观看| 欧美精品一区在线观看| 99久久婷婷国产综合精品电影 | 国产98色在线|日韩| 久久久亚洲国产美女国产盗摄 | 成人不卡免费av| 国产午夜久久久久| 国产91综合一区在线观看|