社区
Java SE
帖子详情
2个int 整除并求余 有没有一个高效算法。
leehong0704
2012-10-24 07:32:20
int a,b;
int c=a/b;
int d=a%b;
只能这样吗?
2个int 整除并求余 有没有一个高效算法。
...全文
340
9
打赏
收藏
2个int 整除并求余 有没有一个高效算法。
int a,b; int c=a/b; int d=a%b; 只能这样吗? 2个int 整除并求余 有没有一个高效算法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dracularking
2012-10-26
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
引用 6 楼 的回复:
这样的简单计算还不算高效,那什么样的才算高效呢?
JAVA未提供一次就同时算出商和余数的语言支持。
我就是一次算出商和余数
[/Quote]
怎么一次算出的?
龙四
2012-10-26
打赏
举报
回复
这都碰到效率问题了?
leehong0704
2012-10-26
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
这样的简单计算还不算高效,那什么样的才算高效呢?
JAVA未提供一次就同时算出商和余数的语言支持。
[/Quote]
我就是一次算出商和余数
hbwhwang
2012-10-25
打赏
举报
回复
这样的简单计算还不算高效,那什么样的才算高效呢?
JAVA未提供一次就同时算出商和余数的语言支持。
dracularking
2012-10-25
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
这个算法已经非常非常高效了,是CPU指令所直接支持的。
如果还企图找更高效的算法,除非 b 是特殊数字,比如当 b = 4 的时候
那么可以用位运算(比除法和取余速度高很多):
int c = a >> 2;
int d = a & 0x3;
[/Quote]
是啊 泛化一下就是
x % 2^n == x & (2^n - 1)
只有在右操作数是2的次幂的情形下
不过我觉得对这种类型的操作现在的java编译器应该会有优化吧,没查证过。
桃园闲人
2012-10-25
打赏
举报
回复
http://topic.csdn.net/u/20121024/19/c2250cf3-61aa-4ba7-841a-11a281313669.html?25636
同样的帖子放了两个,lz很阔绰。
brightyq
2012-10-25
打赏
举报
回复
楼主的程序遇到效率问题了吗?如果是,那瓶颈不在这,不用纠结这个.
这样的运算在一般项目不会考虑效率问题的,已经很快了.
MiceRice
2012-10-25
打赏
举报
回复
这个算法已经非常非常高效了,是CPU指令所直接支持的。
如果还企图找更高效的算法,除非 b 是特殊数字,比如当 b = 4 的时候
那么可以用位运算(比除法和取余速度高很多):
int c = a >> 2;
int d = a & 0x3;
zhaoming262350
2012-10-24
打赏
举报
回复
我认为这样就行了,不过要注意b!=0,否则会出现异常
LightOJ-1214-Large Division-大数取余
本文介绍了一种处理大数与小数之间的
整除
判断的方法,通过字符串输入大数,
int
类型输入小数,利用取余操作实现
高效
判断。文章详细解释了取余
算法
的实现,并给出了代码示例,包括正负数处理和同余定理的应用。
Python
整除
取余运算实战:从“分苹果”案例解析编程竞赛基础题
本文以编程竞赛经典题‘分苹果’为案例,深入解析Python中
整除
(//)与取余(%)运算的数学本质、使用场景及常见误区。重点涵盖输入处理、条件判断、边界测试(如n=0、n
算法基础能力。
正整数构造
算法
:数字和与
整除
约束的
高效
解决方案
本文聚焦于满足数字和约束及
整除
条件的最小正整数构造问题,涵盖问题建模、贪心策略设计(如低位优先填9以最小化高位)、位数优化计算、多约束协同求解(如和为S且被K
整除
),以及边界处理、剪枝优化、记忆化搜索等关键技术。内容面向
算法
竞赛与工程优化场景,强调数学性质与
高效
实现的结合。
泡泡的课堂小练习之
整除
问题
本文介绍了一种解决大数
整除
问题的有效方法,通过分解质因数并利用map容器存储,计算阶乘中能与给定a幂
整除
的组合,从而找到使得n!被a^k
整除
但不被a^(k+1)
整除
的最大k。
算法
巧妙地避免了直接计算阶乘带来的数值溢出问题。
通俗易懂的
高效
率求质数
本文介绍了一种简单
高效
的求质数
算法
,通过使用已知质数列表和开平方根优化,快速筛选出百万以内的所有质数。
算法
利用Java语言实现,通过循环检查和开平方根减少不必要的计算,大幅提
高效
率。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章