模重复平方计算法
来源:互联网 发布:北京市软件协会 编辑:程序博客网 时间:2024/05/22 03:40
本人用了容器:queue存放一个整数的二进制形式,然后用迭代依次访问元素。本人重写了求余,为了产生的余数为正数。
头文件:模重复平法.h
#include<iostream>#include<queue>using namespace std;int Mod(int a ,int b) //求模{ while(a<0) { a +=b; } return a%b;}void Binary_queue(queue<int>&q , int n) //将数字转换成二进制,然后写进队列{ int yu; while( n / 2 != 1) { yu = n % 2; q.push(yu); n = n / 2; } yu=n%2; q.push(yu); q.push(1);}int Result(queue<int>&q ,int b ,int m) //计算模重复平方的结果{ int a=1; while( q.size() != 0 ) { int t=q.front(); q.pop(); if( t ==1 ) { a= Mod(a * b , m) ; b= Mod(b * b , m); } else { b=Mod( b * b , m); } } return a;}
cpp文件:模重复平方计算法.cpp
#include"模重复平方.h"int main(){ queue<int> q; int n,b,m; cout<<"请输入指数:n="; cin>>n; cout<<"请输入底数:b="; cin>>b; cout<<"请输入模:mod="; cin>>m; Binary_queue(q,n); cout<<"结果为:"<<Result(q,b,m)<<endl;}
0 0
- 模重复平方计算法
- 模重复平方计算法
- 模重复平方算法
- 模重复平方算法
- 模重复平方计算法(快速幂)【Python实现】<信安数论>
- 模重复平方计算
- RSA模重复平方法
- 模重复平方计数法的C++实现
- 用模重复平方法求b^n mod m
- 平方乘算法实现
- 算法训练 平方计算
- 算法训练 平方计算
- 算法训练 平方计算
- tpmC简单计算法
- 计步算法
- 逆波兰计算法
- java精确计算法
- 检查一个数组是否出现重复数字的算法(时间复杂度O(n的平方))
- android 数据存储二使用文件存储数据
- 堆(heap)和栈(stack)有什么区别?
- led 驱动程序测试
- NOIP2015TG记
- 如何提高服务器网卡的性能
- 模重复平方计算法
- IOS的空指针和野指针
- 关于ViewPager中添加各个Fragment以及设置其中的组件监听器方法
- ifconfig 看到Rx error overrun 如何解决
- 【队列】链式队列
- mac 虚拟机安装 hadoop 2.7
- 我用火狐在浏览网页时没声音的解决办法
- css3做图片放大特效
- 阿里云部署Django项目(超详细图文教程)——Part1. 服务器购买和远程连接