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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? williams.c

?? 實現的文件的加密解密算法
?? C
字號:
/*
 *   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
 *
 *   Copyright (c) 1988-1999 Shamus Software Ltd.
 */

#include <stdio.h>
#include <stdlib.h>
#include "miracl.h"

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

static BOOL plus[1+MULT/2],minus[1+MULT/2];

miracl *mip;

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;
    }        
}

int main()
{  /*  factoring program using Williams (p+1) method */
    int k,phase,m,nt,iv,pos,btch;
    long i,p,pa,interval;
    big b,q,n,fp,fvw,fd,fn,t;
    static big fu[1+MULT/2];
    static BOOL cp[1+MULT/2];
    mip=mirsys(30,0);
    b=mirvar(0);
    q=mirvar(0);
    n=mirvar(0);
    t=mirvar(0);
    fp=mirvar(0);
    fvw=mirvar(0);
    fd=mirvar(0);
    fn=mirvar(0);
    gprime(LIMIT1);
    for (m=1;m<=MULT/2;m+=2)
        if (igcd(MULT,m)==1)
        {
            fu[m]=mirvar(0);
            cp[m]=TRUE;
        }
        else cp[m]=FALSE;
    printf("input number to be factored\n");
    cinnum(n,stdin);
    if (isprime(n))
    {
        printf("this number is prime!\n");
        return 0;
    }
    for (nt=0,k=3;k<10;k++)
    { /* try more than once for p+1 condition (may be p-1) */
        convert(k,b);              /* try b=3,4,5..        */
        convert((k*k-4),t);
        if (egcd(t,n,t)!=1) continue; /* check (b*b-4,n)!=0 */
        nt++;
        phase=1;
        p=0;
        btch=50;
        i=0;
        printf("phase 1 - trying all primes less than %d\n",LIMIT1);
        printf("prime= %8ld",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;
                    printf("\nphase 2 - trying last prime less than %ld\n"
                           ,LIMIT2);
                    printf("prime= %8ld",p);
                    copy(b,fu[1]);
                    copy(b,fp);
                    mad(b,b,b,n,n,fd);
                    decr(fd,2,fd);     
                    negify(b,t);
                    mad(fd,b,t,n,n,fn);
                    for (m=5;m<=MULT/2;m+=2)
                    { /* store fu[m] = Vm(b) */
                        negify(fp,t);
                        mad(fn,fd,t,n,n,t);
                        copy(fn,fp);
                        copy(t,fn);
                        if (!cp[m]) continue;
                        copy(t,fu[m]);
                    }
                    convert(MULT,t);    
                    lucas(b,t,n,fp,fd);
                    iv=(int)(p/MULT);
                    if (p%MULT>MULT/2) iv++;
                    interval=(long)iv*MULT;
                    p=interval+1;
                    convert(iv,t);
                    lucas(fd,t,n,fp,fvw);
                    negify(fp,fp);
                    subtract(fvw,fu[p%MULT],q);
                    marks(interval);
                    btch*=100;
                    i++;
                    continue;
                }
                pa=p;
                while ((LIMIT1/p) > pa) pa*=p;
                convert((int)pa,t);   
                lucas(b,t,n,fp,q);
                copy(q,b);
                decr(q,2,q);
            }
            else
            { /* phase 2 - looking for last large prime factor of (p+1) */
                p+=2;
                pos=(int)(p%MULT);
                if (pos>MULT/2)
                { /* increment giant step */
                    iv++;
                    interval=(long)iv*MULT;
                    p=interval+1;
                    marks(interval);
                    pos=1;
                    copy(fvw,t);
                    mad(fvw,fd,fp,n,n,fvw);
                    negify(t,fp);
                }
                if (!cp[pos]) continue;

        /* if neither interval+/-pos is prime, don't bother */
                if (!plus[pos] && !minus[pos]) continue;
                subtract(fvw,fu[pos],t);
                mad(q,t,t,n,n,q);  /* batching gcds */
            }
            if (i++%btch==0)
            { /* try for a solution */
                printf("\b\b\b\b\b\b\b\b%8ld",p);
                fflush(stdout);
                egcd(q,n,t);
                if (size(t)==1)
                {
                    if (p>LIMIT2) break;
                    else continue;
                }
                if (compare(t,n)==0)
                {
                    printf("\ndegenerate case");
                    break;
                }
                printf("\nfactors are\n");
                if (isprime(t)) printf("prime factor     ");
                else          printf("composite factor ");
                cotnum(t,stdout);
                divide(n,t,n);
                if (isprime(n)) printf("prime factor     ");
                else          printf("composite factor ");
                cotnum(n,stdout);
                return 0;
            }
        } 
        if (nt>=NTRYS) break;
        printf("\ntrying again\n");
    }
    printf("\nfailed to factor\n");
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99深爱久久99精品| 老鸭窝一区二区久久精品| 精品美女一区二区三区| 男人操女人的视频在线观看欧美| 精品视频123区在线观看| 日韩中文字幕一区二区三区| 日韩女优电影在线观看| 国产高清亚洲一区| 伊人夜夜躁av伊人久久| 欧美久久免费观看| 国产在线播放一区三区四| 国产欧美日韩中文久久| 日本韩国欧美国产| 蜜臀av性久久久久蜜臀av麻豆| 久久一区二区三区国产精品| 成人综合婷婷国产精品久久| 亚洲一区在线电影| 久久青草国产手机看片福利盒子| 久久久精品黄色| 日精品一区二区| 欧美成va人片在线观看| 国产丶欧美丶日本不卡视频| 亚洲视频 欧洲视频| 7777精品伊人久久久大香线蕉经典版下载 | 高清日韩电视剧大全免费| 久久久高清一区二区三区| av电影天堂一区二区在线| 日韩电影免费在线| 国产精品久久久久久福利一牛影视 | 欧美一区二区三区在| 福利一区二区在线| 视频在线观看一区二区三区| 国产日本欧洲亚洲| 国产欧美日韩在线看| av毛片久久久久**hd| 日本午夜一本久久久综合| 国产精品私人影院| 欧美一区二区三级| 在线观看亚洲成人| 成人中文字幕在线| 韩国一区二区视频| 蜜臀精品久久久久久蜜臀 | 成人激情综合网站| 麻豆精品国产91久久久久久| 亚洲国产日韩a在线播放| 欧美一级xxx| 亚洲国产成人av好男人在线观看| 久久蜜桃av一区二区天堂| 欧美日韩精品系列| 在线一区二区三区做爰视频网站| 国产精品一级片| 久久丁香综合五月国产三级网站 | 亚洲综合色成人| 国产精品美女久久福利网站| 精品国产免费人成电影在线观看四季| 欧美综合欧美视频| 日本丶国产丶欧美色综合| 国产成人精品免费一区二区| 国产专区综合网| 九一九一国产精品| 激情深爱一区二区| 精品一区免费av| 久久99精品久久久久久国产越南| 久久精品亚洲乱码伦伦中文| 不卡电影免费在线播放一区| 久久精品国内一区二区三区| 午夜精品福利一区二区三区蜜桃| 亚洲自拍欧美精品| 综合色中文字幕| 亚洲欧美二区三区| 亚洲精品中文在线影院| 亚洲精品久久久蜜桃| 亚洲人精品午夜| 亚洲国产日韩精品| 久久精品国产成人一区二区三区| 国内一区二区在线| 波多野结衣在线一区| 91小视频在线免费看| 欧美艳星brazzers| 日韩一级欧美一级| 久久精品夜色噜噜亚洲a∨| 国产精品久久毛片a| 亚洲乱码国产乱码精品精小说| 天堂久久一区二区三区| 亚洲女同一区二区| 日韩av网站在线观看| 国产精品一区二区在线观看不卡| aaa国产一区| 欧美日韩免费高清一区色橹橹 | 成人app软件下载大全免费| 972aa.com艺术欧美| 91黄色免费版| 精品久久久三级丝袜| 亚洲国产精品v| 亚洲第一福利一区| 国产伦精品一区二区三区视频青涩| 波多野结衣的一区二区三区| 欧美日韩国产一级片| 久久久久久电影| 亚洲一区在线看| 国产精品影音先锋| 欧洲生活片亚洲生活在线观看| 精品三级在线观看| 亚洲美女少妇撒尿| 国产一区二区免费在线| 欧美色图免费看| 中文一区在线播放| 日本成人在线电影网| 91在线看国产| 久久蜜桃一区二区| 日韩高清一级片| 色国产精品一区在线观看| 久久婷婷色综合| 亚洲国产精品人人做人人爽| 成人综合在线网站| 久久综合色综合88| 日本一道高清亚洲日美韩| 91久久精品一区二区三区| 久久精品视频一区| 另类成人小视频在线| 欧美日韩亚洲综合一区二区三区| 欧美国产日产图区| 国产一区二区免费视频| 日韩免费看的电影| 视频一区二区不卡| 欧美无人高清视频在线观看| 亚洲桃色在线一区| gogo大胆日本视频一区| 国产精品全国免费观看高清| 精品一区二区在线播放| 欧美日韩中文一区| 亚洲一区二区欧美| 欧美亚洲动漫另类| 亚洲综合色视频| 欧美视频一区二区三区四区| 亚洲色图.com| 亚洲精品免费在线播放| 国产成人亚洲精品青草天美 | 日本一不卡视频| 欧美日韩国产美| 亚洲成人av免费| 日韩免费成人网| 五月天婷婷综合| 欧美狂野另类xxxxoooo| 亚洲成av人片在www色猫咪| 欧美日产在线观看| 日韩av中文在线观看| 欧美一区二区三区免费观看视频| 美女视频一区二区| 久久伊人中文字幕| 成人免费高清在线| 亚洲精品伦理在线| 欧美另类高清zo欧美| 精品亚洲国内自在自线福利| 久久影院视频免费| 91在线视频观看| 亚洲图片欧美一区| 在线看日本不卡| 亚洲女厕所小便bbb| 色婷婷综合激情| 亚洲一区二区欧美| 7777精品伊人久久久大香线蕉完整版 | 91一区二区在线观看| 亚洲国产一区二区在线播放| 欧美精品一卡两卡| 韩日精品视频一区| 亚洲乱码中文字幕| 91精品久久久久久蜜臀| 国产成人在线影院| 亚洲国产wwwccc36天堂| 亚洲精品乱码久久久久久黑人| 国产一二精品视频| 亚洲人亚洲人成电影网站色| 欧美精品黑人性xxxx| 国产精品羞羞答答xxdd | 成人avav影音| 日韩高清一区在线| 国产精品美女久久久久高潮| 欧美日韩一区二区三区在线看| 精品一区二区三区在线观看| 亚洲激情网站免费观看| 日韩精品中文字幕在线不卡尤物| 99视频在线精品| 国产一区二区三区视频在线播放| 中文字幕中文乱码欧美一区二区 | 精品粉嫩超白一线天av| 日本韩国精品一区二区在线观看| 韩国视频一区二区| 亚洲成a人v欧美综合天堂| 国产精品色婷婷| 欧美成人精品二区三区99精品| 一本一道久久a久久精品| 国产一区二区三区综合| 亚洲成人av一区| 亚洲视频电影在线| 国产精品久久久久影院亚瑟| xfplay精品久久| 51精品秘密在线观看| 日本黄色一区二区| 97se亚洲国产综合自在线观|