手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

java 快速求余

时间:2024-10-13 06:56:14

1、算法描述:参数:(底数,指数,指数位数,模数)从高位开始计数如果二进制位为一则乘以底数否则平方进入下一轮

java 快速求余

2、代码:public class Fastmod{ public static void main(String args[]) { 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、编译运行

© 手抄报圈