发现自己还是看书少了,能从书上学到很多东西。

加减乘的模运算:

#include

using namespace std;

int mul_mod(int a,int b,int n){

a %= n; b %= b;

return (int)((long long)a * b % n);

}///如果n本身超int,就要用高精度了

int add_mod(int a,int b,int n){

a %= n; b %= b;

return (int)((a + b) % n);

}

int subtract_mod(int a,int b,int n){

a %= n; b %= b;

return (int)((a - b + n) % n);

}

int main()

{

return 0;

}

大整数取模:也就是从头到尾,每当数到达大于等于n就对n取模,相当于把大整数转换成1234 = ((1*10+2)*10+3)*10+4的情势

输入大整数,和n

#include

#include

using namespace std;

int main()

{

int m;

char n[100];

scanf("%s%d",n,&m);

int len=strlen(n);

int ans=0;

for(int i=0;i

ans=(int)(((long long)ans*10 + n[i] - '0')%m );

printf("%d

",ans);

}

return 0;

}

幂取模:输入a,n,m输出a^n mod m的值,a,n,m<=10^9

简单的代码,时间复杂度为O(n)

int pow_mod(int a,int n,int m)

{

int ans=1;

for(int i=0;i

}

下面可以利用分治法,减少时间复杂度。时间复杂度减少为O(logn)

int pow_mod(int a,int n,int m)

{

if(n==0) return 1;

int x=pow_mod(a,n/2,m);

long long ans=(long long)x*x%m;

if(n%2==1) ans=ans*a%m;

return (int)ans;

}a^29=(a^14)^2*a, a^14=(a^7), a^3=a^2*a a=1*1*a;

摹拟线性方程组:输入a,b,c解方程      ax(3道杠)b(mod n)       ,a,b,n<=10^9

a和b关于模n同余,充要条件a-b是n的整数倍。

方程ax(3道杠)1(mod n)的解称为a关于模n的逆,当gcd(a,n)=1时,该方程组有唯1解,否则无解。

下面程序表示a(3道杠)1(mod n) 的解,要求gcd(a,n)=1

#include

using namespace std;

int main()

{

int a,n;

scanf("%d%d",&a,&n);

int x;

for(int y=0;;y++)

{

if( (1+n*y)%a==0 ){

printf("x = %d

",(1+n*y)/a);

break;

}

}

return 0;

}

php 浮点数 模运算,同余与模运算相关推荐

  1. C语言fmod()函数:对浮点数取模(求余)和%取余运算符的比较

    头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为:     double fmod (double x); 设返回值为 ret,那么 x = ...

  2. 深度理解取余/取模运算

    日常编程经常会接触到取余/取模运算,那么计算机中取余/取模运算究竟是怎么定义的? P1:四种"取整"方式 数学取整 1.1 向0取整 parseInt() 注意接受参数是strin ...

  3. php取模,PHP的求余(取模)运算

    这篇文章主要介绍了关于PHP的求余(取模)运算 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来看下个小案例:$n = 8.45; $result = $n*100; echo g ...

  4. php 求余 负数,PHP的求余(取模)运算

    这篇文章主要介绍了关于PHP的求余(取模)运算 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来看下个小案例:$n = 8.45; $result = $n*100; echo g ...

  5. C语言符号-取余\取模运算

    目录 前言 取整 向0取整 向-∞取整 向+∞取整 四舍五入取整 汇总 取模\余 对于正数取模 对于负数取模 取余和取模的理解 前言 本文主要讲解并真正理解取余\取模运算是怎样的! 取整 首先取整有四 ...

  6. 实数范围内(包含负数)的求模与求余运算异同

    以下内容主要总结整理自以下文献: 一.实数的取余运算 二.取模和取余的区别 三.负数.取模与取余 背景 最近在一道 Java 习题中,看到这样的一道题: What is the output when ...

  7. C语言中四种取整方式、取余/取模的运算以及负数取模的问题

    零向取整.负无穷向取整.正无穷向取整.四舍五入取整 如果将一个浮点数赋值给整形,只会保存整数位: 这种取整方式为零向取整,C语言默认采用的是这种方式 C语言中也有对应的零向取整函数: 同理还有一种函数 ...

  8. java中的取模和取余_取模运算

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 取模运算是求两个数相除的余数.[1] 取模运算("Modulus Operation")和取余运算(&qu ...

  9. java中的取模_Java 中的取模和取余

    期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation). 计算方法 对于整数 a,b 来说 ...

最新文章

  1. matlab风力机叶片仿真教程,我用matlab编写了一个风力机叶片的优化设计程序,有点问题 - 程序语言 - 小木虫 - 学术 科研 互动社区...
  2. C++学习笔记之二:通过结构体来理解类
  3. apache多站点配置+多端口配置
  4. RDBMS数据定时采集到HDFS
  5. 现代软件工程讲义 8 稳定阶段 (测试的计划和执行)
  6. 【kafka】kafka kerberos KeeperErrorCode = InvalidACL for /config/topics
  7. 关于 LDTP 操纵 windows 控件。
  8. AutoIT: 开发界面结合GUI automation和Watir Automation
  9. [shell]shell 中| || () {} 用法以及shell的逻辑与或非
  10. BZOJ——1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
  11. c语言函数与宏定义的应用,C语言第3次实_函数与宏定义的应用.doc
  12. spss选择主要特征_SPSS统计作图教程:一维箱线图
  13. CentOS下双网卡绑定-bond0
  14. 重学前端学习笔记(四十一)--CSS的颜色
  15. SAP中常用到的会计知识
  16. Struts 官方下载地址
  17. echarts 之饼形图配置属性
  18. python能打包成apk吗_超详细APK打包教程
  19. html表格中字与字间距如何调整,excel表格字间距怎么调
  20. Centos8.5无法用yum安装screen,iftop,nethogs等的解决办法

热门文章

  1. 美妆海报不会做? PSD分层模板带你轻松掌握!
  2. 值得所有设计师拥有的国内外“设计导航网站”
  3. 心跳超时时间设置_定时器实现之时间轮算法
  4. php MySQL定义,PHP + MySQL用户定义函数
  5. YOCTO项目介绍:通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统
  6. DPDK报文收发 run to completion, pipeline
  7. java反射性能问题_Java反射应用实例java反射的性能问题 | 学步园
  8. springboot实现条形码_Springboot转发重定向实现方式解析
  9. win10下zookeeper的下载以及安装
  10. shape的xml用法