zoukankan      html  css  js  c++  java
  • 一些基本公式和算法

    c++中保留小数点的位数:

    #include <iostream>
    
    #include <iomanip>
    using namespace std;
    int main( void )
    {
        const double value = 12.3456789;
        cout << value << endl; // 默认以6精度,所以输出为 12.3457
        cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
        cout << setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679
        cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
        cout << value << endl; // fixed和setprecision的作用还在,依然显示12.3457
        cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35
        cout << value << endl;
        cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
        cout << value << endl;
    }
    View Code

    取模运算的性质:

    取模运算性质
    (a + b) % p = (a % p + b % p) % p
    (a - b) % p = (a % p - b % p) % p
    (a * b) % p = (a % p * b % p) % p 
     a ^ b % p = ((a % p)^b) % p 
    ((a+b) % p + c) % p = (a + (b+c) % p) % p
    ((a*b) % p * c)% p = (a * (b*c) % p) % p
    (a+b) % p = ( a % p + b % p ) % p
    ((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p
    重要定理
    若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);
    若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);
    若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),
    (a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p);
    View Code

    快速幂:

    快速幂模板(a^b mod c);;
    int PowerMod(int a, int b, int c)  
    {  
        int ans=1;  
        a = a%c;  
        while(b>0)  
        {  
       
        if(b%2==1)  
        ans = (ans*a)%c;  
        b = b/2;  
        a = (a*a)%c;  
        }  
        return ans;  
    }
    View Code

    最大公约数:

    //辗转相除法
    int gcd(int m , int n){
        int r = 0 ;
        while(n){
            r = m%n;
            m = n;
            n = r;
        }
        return m;
    }
    View Code
  • 相关阅读:
    .Net业务搭配实用技术栈(转)
    基于WebGL/Threejs技术的BIM模型轻量化之图元合并
    设计模式之六大原则
    osgearth介绍
    OSG中的示例程序简介
    共有49款Windows GUI开发框架开源软件 【转】
    地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)(转)
    c#串口编程(转)
    c++消息队列的实现
    SQL总结 连表查询
  • 原文地址:https://www.cnblogs.com/txrtyy/p/8604487.html
Copyright © 2011-2022 走看看