社区
Java SE
帖子详情
2个int 整除并求余 有没有一个高效算法。
leehong0704
2012-10-24 07:32:20
int a,b;
int c=a/b;
int d=a%b;
只能这样吗?
2个int 整除并求余 有没有一个高效算法。
...全文
341
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-大数取余
Given two
int
egers,aandb, you should check whetherais divisible bybor not. We know that an
int
egerais divisible by an
int
egerbif and only if there exists an
int
egercsuch thata = b *...
Python
整除
取余运算实战:从“分苹果”案例解析编程竞赛基础题
整除
与取余是编程中的基础运算,用于处理数值分配和分组问题。其原理基于数学的除法算式 n = m * q + r,其中 q 为商,r 为余数。在Python中,// 运算符执行
整除
,% 运算符执行取余,它们是解决资源分配、循环计数和哈希映射等问题的核心技术。掌握这些运算对于编写健壮、
高效
的代码至关重要,尤其在处理边界条件时。本文通过
一个
经典的“分苹果”编程竞赛案例,深入剖析了如何运用
整除
和取余运算解决实际问题,并详细讲解了输入处理、条件判断和格式化输出等关键编程技巧,帮助初学者巩固Python基础,提升逻辑思
正整数构造
算法
:数字和与
整除
约束的
高效
解决方案
正整数构造是
算法
设计中的基础概念,涉及数字的位操作和数学性质分析。其核心原理是通过数学推导确定数字的最优分配策略,从高位到低位依次确定每位数字,确保构造结果满足特定约束条件。这种技术在编程竞赛和
算法
面试中具有重要价值,能够
高效
解决数字和约束、
整除
要求等复杂问题。在实际应用场景中,数字构造
算法
广泛应用于密码学、编码理论和游戏开发等领域。本文基于数字和优化与模运算处理两个关键技术点,详细讲解了如何设计
高效
算法
来构造满足多重约束条件的正整数。
泡泡的课堂小练习之
整除
问题
大数的
整除
问题
数论中的
整除
:从定义到同余与模逆元的完整指南
数论是研究整数性质的数学分支,而
整除
是最基础也最容易被低估的概念之一。理解
整除
的严格定义与带余除法的原理,才能真正掌握素数、最大公约数等核心工具。贝祖定理与欧几里得
算法
为
高效
计算最大公约数提供了理论支撑,扩展欧几里得
算法
则进一步解决了模逆元的求解问题;同余理论将
整除
关系转化为余数关系,在密码学、
算法
设计与竞赛编程中有着广泛应用。本文从
整除
出发,系统梳理其性质、常见误区及与同余、逆元的深层联系,帮助读者在数论学习与工程实践中少走弯路。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章