zoukankan      html  css  js  c++  java
  • 判断素数

    329   = 3 1      3 4      3 *    316

    1.一个质数的判断

    bool judge(int n){
        if(n < 2){
            return false;
        }
        
        int bound = sqrt(n);
        
        for(int i = 0;i < bound;i++){
            if(n % i == 0){
                return false;
            }
        }
        
        return true;
    }

    2.快速幂

    329   = 3 1       3 4       38   *    316

    29 = 11101(2)。对于n转化成二进制的每位,遇到0,倍乘;遇到1,将累乘的值乘到答案里。

    //快速幂 求 x的n次方 结果的最后三位 
    int quickPower(int x,int n){
        int answer = 1;
        int mod = 1000;
        while(n){ 
            if(n % 2){
                answer *= x;
                answer %= mod;
            }
            n>>1;//右移1位 
            x *= x; 
            x %= mod;
        } 
    }
  • 相关阅读:
    Widget Factory
    233 Matrix
    青蛙的约会
    Longge's problem
    密码解锁
    SQFREE
    GCD
    [WC2011]最大XOR和路径
    [HNOI2011]XOR和路径
    [ZJOI2010]排列计数
  • 原文地址:https://www.cnblogs.com/juanzhi/p/12917093.html
Copyright © 2011-2022 走看看