java 快速求余
1、算法描述:参数:钱砀渝测(底数,指数,指数位数,模数)从高位开始计数如果二进制位为一则乘以底数否则平方进入下一轮
2、代码:public class Fastmod{ public stat坡纠课柩ic void main(String ar爿讥旌护gs[]) { fastmod(Integer.parseInt(args[0]),Integer.parseInt(args[1]),Integer.parseInt(args[2]),Integer.parseInt(args[3])); } public static int fastmod(int base ,int exp,int extc,int mod) { int c=0;int d=1; for(int i=extc;i>=0;i--) { c=c*2; System.out.println(c); d=(d*d)%mod; if(getbit(exp,i)==1) { c++; d=(d*base)%mod; } System.out.println(d); } return d; } public static int getbit(int p,int index) { for(int i=0;i<index;i++) { p=p>>>1; } return p%2; }}
3、编译运行
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:47
阅读量:57
阅读量:87
阅读量:36
阅读量:92