大数取余
来源:互联网 发布:软件开发好学吗? 编辑:程序博客网 时间:2024/05/18 11:12
//将“14689”看成多项式相加的和,即1*10^5+4*10^4+6*10^3+8*10^2+9*10^1,每一项如果看成X,Y,Z
//结合一些模运算的性质来考虑,比如,对多个数字的相加再求模和先对中间部分结果求模再相加后面的数再求模的结果是一样的
//即 (X+Y+Z)modP =((X+Y)modP+ Z)modP = ((XmodP +Y)modP+Z)modP
/*大数取余-------mod 为 (int范围)*//* 具体做法: 从大数最高位开始,只要其大于mod 就实行取余,一直下去,最终得到余数例如:123 % 4 取一个中间变量t=0 1<4 t=1 --- 2 t=1*10+2=12>4 t=t%4=0 --- 3 t=0+3=3 t=t%4=3 -------------------- 余数 3*/#include<iostream>#include<string>#include<cstring>using namespace std;int MOD(string a,int mod){ int len=a.length(),i; int t=0;//中间变量,最终存储余数 for(i=0;i<len;i++) { t*=10; t+=a[i]-'0'; if(t>=mod) t=t%mod; } return t;}int main(){ string a; int mod; while(cin>>a>>mod) { cout<<MOD(a,mod)<<endl; } return 0;}
0 0
- 大数取余
- 大数加减乘除取余
- 大数取余
- java 大数取余
- 大数取余
- 大数取余
- 大数取余,千进制
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- 大数取余
- java大数取余
- 微信小程序官方指南
- 进阶
- cudnn的安装,路径和版本问题
- JAVA常用的定时任务方法
- ORACLE SGA区基础知识与查看命令
- 大数取余
- C# 如何获取错误所在行数
- 均值滤波的快速解法
- 用VS2015编译MPC-HC
- Android学习笔记44:JSON数据解析
- Lightoj1203 Guarding Bananas(凸包)
- cube-sdk
- eclipse Android开发百度地图只显示网格问题
- Flume学习笔记之初识(一)