php 浮点数 模运算,同余与模运算
发现自己还是看书少了,能从书上学到很多东西。
加减乘的模运算:
#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 浮点数 模运算,同余与模运算相关推荐
- C语言fmod()函数:对浮点数取模(求余)和%取余运算符的比较
头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = ...
- 深度理解取余/取模运算
日常编程经常会接触到取余/取模运算,那么计算机中取余/取模运算究竟是怎么定义的? P1:四种"取整"方式 数学取整 1.1 向0取整 parseInt() 注意接受参数是strin ...
- php取模,PHP的求余(取模)运算
这篇文章主要介绍了关于PHP的求余(取模)运算 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来看下个小案例:$n = 8.45; $result = $n*100; echo g ...
- php 求余 负数,PHP的求余(取模)运算
这篇文章主要介绍了关于PHP的求余(取模)运算 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来看下个小案例:$n = 8.45; $result = $n*100; echo g ...
- C语言符号-取余\取模运算
目录 前言 取整 向0取整 向-∞取整 向+∞取整 四舍五入取整 汇总 取模\余 对于正数取模 对于负数取模 取余和取模的理解 前言 本文主要讲解并真正理解取余\取模运算是怎样的! 取整 首先取整有四 ...
- 实数范围内(包含负数)的求模与求余运算异同
以下内容主要总结整理自以下文献: 一.实数的取余运算 二.取模和取余的区别 三.负数.取模与取余 背景 最近在一道 Java 习题中,看到这样的一道题: What is the output when ...
- C语言中四种取整方式、取余/取模的运算以及负数取模的问题
零向取整.负无穷向取整.正无穷向取整.四舍五入取整 如果将一个浮点数赋值给整形,只会保存整数位: 这种取整方式为零向取整,C语言默认采用的是这种方式 C语言中也有对应的零向取整函数: 同理还有一种函数 ...
- java中的取模和取余_取模运算
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 取模运算是求两个数相除的余数.[1] 取模运算("Modulus Operation")和取余运算(&qu ...
- java中的取模_Java 中的取模和取余
期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation). 计算方法 对于整数 a,b 来说 ...
最新文章
- matlab风力机叶片仿真教程,我用matlab编写了一个风力机叶片的优化设计程序,有点问题 - 程序语言 - 小木虫 - 学术 科研 互动社区...
- C++学习笔记之二:通过结构体来理解类
- apache多站点配置+多端口配置
- RDBMS数据定时采集到HDFS
- 现代软件工程讲义 8 稳定阶段 (测试的计划和执行)
- 【kafka】kafka kerberos KeeperErrorCode = InvalidACL for /config/topics
- 关于 LDTP 操纵 windows 控件。
- AutoIT: 开发界面结合GUI automation和Watir Automation
- [shell]shell 中| || () {} 用法以及shell的逻辑与或非
- BZOJ——1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
- c语言函数与宏定义的应用,C语言第3次实_函数与宏定义的应用.doc
- spss选择主要特征_SPSS统计作图教程:一维箱线图
- CentOS下双网卡绑定-bond0
- 重学前端学习笔记(四十一)--CSS的颜色
- SAP中常用到的会计知识
- Struts 官方下载地址
- echarts 之饼形图配置属性
- python能打包成apk吗_超详细APK打包教程
- html表格中字与字间距如何调整,excel表格字间距怎么调
- Centos8.5无法用yum安装screen,iftop,nethogs等的解决办法
热门文章
- 美妆海报不会做? PSD分层模板带你轻松掌握!
- 值得所有设计师拥有的国内外“设计导航网站”
- 心跳超时时间设置_定时器实现之时间轮算法
- php MySQL定义,PHP + MySQL用户定义函数
- YOCTO项目介绍:通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统
- DPDK报文收发 run to completion, pipeline
- java反射性能问题_Java反射应用实例java反射的性能问题 | 学步园
- springboot实现条形码_Springboot转发重定向实现方式解析
- win10下zookeeper的下载以及安装
- shape的xml用法