逢余进一

本文介绍了一种名为“逢余进一”的算法,该算法用于处理两个正数m、n之间的除法运算。当n不能被m整除时,算法会自动进行进位操作。文章提供了两种实现方法,并附带了C++示例代码。

逢余进一

问题描述:

输入两个正数mn,如果n除以m余数不为0,则输出[n/m+1,否则输出n/m.

方法1

本方法要求知道n为某个最小单位的整数倍.比如:n为电量,那其为电子电量e的整数倍.设这个最小单位为e.那么所求可以写成:

[(n+m-e/m

意思是:哪怕nm多一个最小单位,也得进1.

方法二:

本方法为通用方法.方法思路:现在方便计算的只是取整运算(强制类型转换就得了).对于n/m的小数部分,设为a.a要么是0,要么非0.若对小数部分其整肯定为0.这不是我们想要的.但对1-a取整,情况就不一样了.a0时结果为1a不为0时结果为0.这样取整运算就可以充当一个判断语句了,我们正是想要一个具有判断功能的表达式.1-a可以写成:[n/m+1-n/m.所求可以写成:

n/m+1-[[n/m+1-n/m

 

制(位制)是数学里数字系统中的个概念,是种记数方式,可以用有限的数字符号表示所有的数值。 可使用数字符号的个数称为基数(或底数),基数为X,即可称X制。 由于人类的双手共有十根手指的特点,故在人类自发采用的位制中,最常用的是十制。十制使用10个阿拉伯数字0、1、2、3、4、5、6、7、8、9行记数,。除了十制,生活中觉的其它制有十二制(打是12个)、60制(1分钟60秒、1小时60分)等。 计算机科学中,硬件中的元器件通常具有两个不同稳定状态。例如,电路中某通路电流的有无,某节点电压的高低,晶体管的导通和截止等。所以在计算机中的信息和计算通常用二制方法表示,数据在处理过程中也常常用八制或十六制表示。 二制的基数是2,使用0、1两个数字记数,21。 八制的基数是8,使用0、1、2、3、4、5、6、7八个数字记数,81。 十六制的基数为16,使用数字0到9以及字母A到F(表示十制中的10到15)十六个数字记数,十六。 现在已知在X星球中采用9行记数,使用0-8九个数字,。 请你编程实现十制和九制之间的转换。 输入格式: 两个整数X和Y,第个整数X是十制的10或9,代表后个数是X制整数,个空格之后是另个X制的正整数Y(整数大小不超过int型数据的表示范围)。 输出格式: 如果输入的X是10,请你将Y转换成9制输出; 如果输入的X是9,请你将Y转换成10制输出。 如果输入的X不是10或9,或者输入的整数Y不是X制整数(整数中出现非X制字符),输出:“DATA ERROR!” (符号为英文符号,DATA和ERROR之间有1个空格,全部为大写字母,字符串最后保留英文符号”!”,请按照样例输出,不要加额外字符)。 输入样例1: 10 10000 输出样例1: 14641 输入样例2: 9 123456789 输出样例2: DATA ERROR! 用C语言
最新发布
11-20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值