取模运算的一些性质 科学计数法 快速幂
2019-03-10 11:47:57来源:博客园 阅读 ()
一、取模运算的一些性质
(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 * c) % p + (b * c) % p) % p
二、快速乘法取模
计算a*b %p 时 若a,b较大可以这样
typedef long long LL; LL q_mul(LL a, LL b, LL p) { LL ans = 0; while (b) { if(b&1) ans=(ans+a)%p;//只有b的最后一位为1时才会返回1 //or ans=(ans+(b%2*a)%p)%p; a = (a +a) % p; b >>= 1; //将b值向右移一位 原本是101 现在就回变成10 } return ans;
三、快速幂
int quickPower(int a, int b)//是求a的b次方 { int ans = 1, base = a; while(b > 0)// { if(b & 1) ans *= base; //ans *= base%m; base *= base; //如果要求取模 base *=base%m b >>= 1; } return ans; //最后输出时还要对ans取模
}
四、c++科学计数法
double a = 1e3; // a= 1000 double b = 2.3e2; //b = 230 double c = -1.3e2; //c = -130
原文链接:https://www.cnblogs.com/vickiww/p/10500957.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 运算符重载 2020-06-10
- C++ 一些术语 2020-05-22
- C++ new初始化与定位new运算符 2020-05-22
- 关于使用ffmpeg的一些牢骚 2020-05-08
- 重载矩阵加法运算 代码参考 2020-04-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash