青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 97, 文章 - 22, 評論 - 81, 引用 - 0
數(shù)據(jù)加載中……

Pku 3209 From Pythagoras to …(數(shù)論)

問題描述:
給定一個數(shù),問它是否能夠表示成兩個整數(shù)的平方和。
解題思路:
費馬平方和定理的表述是:奇素數(shù)能表示為兩個平方數(shù)之和的充分必要條件是該素數(shù)被4除余1。
于是一個素數(shù)p = 4n+1或者p = 2則必定能表示成兩個平方數(shù)之和。
同樣可以推導出如果兩個數(shù)均能表示成兩個平方數(shù)之和,則他們的乘積必定能表示成兩個平方數(shù)之和:
p = a^2 + b^2;
q = c^2 + d^2;
p*q = (a^2 + b^2)(c^2 + d^2) = (ac)^2 + (ad)^2 + (bc)^2 + (bd)^2 = (ac + bd)^2 + (ac - bd)^2
只要將所求數(shù)分解素因子,然后對于每個素數(shù)看是否滿足條件,一旦有一個素因子不滿足費馬平方和定理則直接輸出"NO",全部滿足則輸出"YES"

代碼如下:

#include 
<iostream>
#include 
<cstdlib>
#include 
<cmath>
#define gcc 10007
typedef __int64 Int;
#define MAX ((Int)1<<63)-1

using namespace std;

Int p[
10= {2357111317192329};

Int Gcd(Int a, Int b)
{
    Int m 
= 1;
    
while(m)
    
{
        m 
= a % b;
        a 
= b;
        b 
= m;
    }

    
return a;
}


//計算a*b%n
inline Int Produc_Mod(Int a, Int b, Int mod)
{
    Int sum 
= 0;
    
while(b)
    
{
        
if(b & 1) sum = (sum + a) % mod;
        a 
= (a + a) % mod;
        b 
/= 2;
    }

    
return sum;
}


//計算a^b%n
inline Int Power(Int a, Int b, Int mod)
{
    Int sum 
= 1;
    
while(b)
    
{
        
if(b & 1) sum = Produc_Mod(sum, a, mod);
        a 
= Produc_Mod(a, a, mod);
        b 
/= 2;
    }

    
return sum;
}


//Rabin_Miller判素
bool Rabin_Miller(Int n)
{
    
int i, j, k = 0;
    Int u, m, buf;
    
//將n-1分解為m*2^k
    if(n == 2)
        
return true;
    
if(n < 2 || !(n & 1))
        
return false;
    m 
= n-1;
    
while(!(m & 1))
    
{
        k
++;
        m 
/= 2;
    }

    
for(i = 0; i < 9; i++)
    
{
        
if(p[i] >= n)
            
return true;

        u 
= Power(p[i], m, n);
        
if(u == 1)
            
continue;
        
for(j = 0; j < k; j++)
        
{
            buf 
= Produc_Mod(u, u, n);
            
//看是否有非平凡因子存在
            if(buf == 1 && u != 1 && u != n-1)
                
return false;
            u 
= buf;
        }

        
//如果p[i]^(n-1) % n != 1 那么 n為合數(shù)
        if(u-1)
            
return false;
    }

    
return true;
}


Int Pollard_rho(Int n)
{
    
while(1)
    
{
        
int i = 1;
        Int x 
= rand() % (n-1+ 1;
        Int y 
= x;
        Int k 
= 2;
        Int d;
        
do{
            i
++;
            d 
= Gcd(n + y - x, n);
            
if(d > 1 && d < n)
                
return d;
            
if(i == k)
                y 
= x, k *= 2;
            x 
= (Produc_Mod(x, x, n) + n - gcc) % n;
        }
while(y != x);
    }

}


Int prime[
10000];
int top;

void Prime_Divisor(Int key)
{
    
if( Rabin_Miller(key) )
    
{
        prime[ top 
++ ] = key;
    }
else
    
{
        Int buf 
= Pollard_rho(key);

        
if( Rabin_Miller(buf) ){
            prime[ top 
++ ] = buf;
        }
else{
            Prime_Divisor(buf);
        }



        
if( Rabin_Miller(key / buf) ){
            prime[ top 
++ ] = key / buf;
        }
else{
            Prime_Divisor(key 
/ buf);
        }

    }

}

int main()
{
    
int t, i;
    Int n;
    scanf(
"%d"&t);
    
while(t--)
    
{
        scanf(
"%I64d"&n);
        
if(n < 0)
            printf(
"NO\n");
        
else if(n == 0 || n == 1)
            printf(
"YES\n");
        
else 
        
{
            top 
= 0;
            Prime_Divisor(n);

            
for(i = 0; i < top; i++)
                
if( prime[i] != 2 && (prime[i] - 1% 4 )
                    
break;
            
if(i < top)
                printf(
"NO\n");
            
else
                printf(
"YES\n");
        }

    }

}

posted on 2009-02-10 21:04 英雄哪里出來 閱讀(389) 評論(0)  編輯 收藏 引用 所屬分類: ACM

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美亚洲不卡| 久久精视频免费在线久久完整在线看| 亚洲综合好骚| 亚洲精品中文字幕在线观看| 性久久久久久久久久久久| 亚洲免费观看视频| 久久色在线播放| 久久成年人视频| 欧美天堂在线观看| 亚洲激情在线播放| 亚洲国产91精品在线观看| 欧美一级理论性理论a| 亚洲狼人精品一区二区三区| 久久久精品久久久久| 久久成人羞羞网站| 国产精品成人在线观看| 亚洲精品国产品国语在线app| 伊甸园精品99久久久久久| 性欧美在线看片a免费观看| 午夜精品久久久久久久99热浪潮| 欧美裸体一区二区三区| 亚洲精品国产视频| 日韩亚洲精品视频| 欧美激情综合五月色丁香| 亚洲高清av在线| 亚洲激情不卡| 欧美精品v国产精品v日韩精品| 亚洲第一主播视频| 亚洲美女视频网| 欧美精品在线观看91| 日韩午夜免费| 亚洲欧美激情视频| 国产欧美日韩免费看aⅴ视频| 亚洲欧美日韩国产一区| 久久精品色图| 激情久久久久久| 欧美a一区二区| 亚洲精选视频在线| 亚洲欧美日韩精品久久奇米色影视| 国产精品高潮在线| 香蕉久久一区二区不卡无毒影院| 久久久久久香蕉网| 亚洲高清不卡在线| 欧美日韩免费| 亚洲欧美日本伦理| 欧美不卡视频一区发布| 亚洲乱码视频| 国产精品亚发布| 久久久99久久精品女同性| 亚洲黄色影院| 午夜精品视频一区| 在线播放视频一区| 欧美日韩一区二区在线| 欧美诱惑福利视频| 亚洲国产欧美在线人成| 亚洲欧美韩国| 亚洲国产精品久久久久婷婷老年| 欧美激情一区二区三区在线视频观看 | 欧美电影免费观看大全| 夜夜嗨av色综合久久久综合网| 国产精品国产三级国产专播精品人| 欧美一区二区三区视频在线观看| 欧美高清一区二区| 性欧美精品高清| 亚洲国产精品123| 国产精品入口日韩视频大尺度| 久久久噜噜噜久久人人看| 99国产精品久久久久久久久久 | 久久国产精品久久w女人spa| 亚洲激情专区| 国产情人综合久久777777| 欧美激情精品久久久久久蜜臀| 亚洲伊人伊色伊影伊综合网| 亚洲国产成人av好男人在线观看| 午夜综合激情| 一本色道久久综合狠狠躁的推荐| 国产真实久久| 国产精品日日做人人爱| 欧美电影免费观看高清完整版| 亚洲欧美一区二区在线观看| 欧美激情aⅴ一区二区三区| 先锋亚洲精品| 亚洲性视频网站| 亚洲黄色av一区| 国产夜色精品一区二区av| 欧美日韩一区二区三区在线观看免 | 一区二区欧美日韩视频| 欧美大片免费| 久久久夜夜夜| 久久激情中文| 午夜精品在线视频| 一区二区电影免费观看| 亚洲国产美国国产综合一区二区| 国产亚洲欧美日韩精品| 国产精品老牛| 欧美午夜一区| 欧美三级特黄| 欧美日韩一区二区高清| 欧美精品日韩精品| 免费观看欧美在线视频的网站| 久久激情综合网| 欧美主播一区二区三区美女 久久精品人| 99国产精品国产精品毛片| 亚洲人成网站精品片在线观看| 免费成人高清视频| 麻豆精品91| 欧美激情一区二区三区成人| 久久伊人精品天天| 麻豆成人在线播放| 欧美大尺度在线观看| 欧美插天视频在线播放| 欧美成人一品| 亚洲国产裸拍裸体视频在线观看乱了| 欧美成人国产| 亚洲日本电影| 日韩一级片网址| aa国产精品| 午夜精品久久久久99热蜜桃导演| 亚洲欧美激情视频| 欧美在线看片| 麻豆精品传媒视频| 欧美激情第五页| 国产精品a级| 国产日韩欧美二区| 狠狠干综合网| 亚洲毛片在线免费观看| 亚洲一区二区动漫| 久久精品官网| 欧美激情视频一区二区三区在线播放| 亚洲国产日韩一级| 亚洲一区精彩视频| 久久久久综合网| 欧美黑人在线观看| 国产精品美女999| 国产一区二区精品久久99| 亚洲电影网站| 亚洲欧美高清| 免费日韩成人| 中文在线资源观看网站视频免费不卡 | 亚洲视频免费| 久久精品夜色噜噜亚洲aⅴ | 久久亚洲午夜电影| 欧美日本国产一区| 国产色爱av资源综合区| 91久久国产综合久久| 亚洲综合视频网| 欧美xart系列高清| 亚洲天堂av电影| 美女脱光内衣内裤视频久久网站| 欧美日韩免费网站| 国模一区二区三区| 一区二区三区四区蜜桃| 久久久久国产精品午夜一区| 亚洲片国产一区一级在线观看| 亚洲欧美一区二区精品久久久| 欧美成人精品不卡视频在线观看| 国产精品毛片大码女人| 亚洲青涩在线| 久久久久看片| 中文在线不卡视频| 欧美大尺度在线观看| 国自产拍偷拍福利精品免费一| 中国亚洲黄色| 亚洲高清激情| 久久精品国产v日韩v亚洲 | 夜夜夜久久久| 欧美不卡激情三级在线观看| 国产偷国产偷亚洲高清97cao| 一本色道久久综合亚洲精品小说 | av成人黄色| 欧美成人免费观看| 精品成人在线| 久久精品国产精品亚洲精品| 日韩亚洲一区二区| 欧美激情1区2区3区| 在线观看av不卡| 久久综合一区二区| 欧美一级网站| 国产偷自视频区视频一区二区| 亚洲校园激情| 一区二区三区 在线观看视频| 免费不卡在线观看av| 在线免费日韩片| 久久久久久久久久看片| 亚洲欧美国产77777| 国产精品电影网站| 亚洲线精品一区二区三区八戒| 亚洲精选久久| 欧美日韩国产精品 | 久久精品视频一| 午夜视频在线观看一区二区| 国产精品自拍三区| 欧美一区二区在线免费观看| 亚洲午夜极品| 国产欧美精品日韩| 久久久久久久久久看片| 久久久久久一区二区三区| 亚洲国产91色在线| 亚洲黄色小视频| 欧美视频在线一区|