为了账号安全,请及时绑定邮箱和手机立即绑定

小白问题二

int  x = ( m * 8 / ( n + 2 ) ) % m ;

n=5
m=7
x=4

我就不明白x为毛是4

求教各位?

正在回答

5 回答

题目:

int  x = ( m * 8 / ( n + 2 ) ) % m ;

n=7
m=5

解: x = (5*8/(7+2)) % 5

          =(40/9) % 5

          = 4%5          //   计算40 / 9 = 4.444  取整之后为 4

         = 4                

除法运算是:(被除数 - 余数) ÷ 除数 = 商  也就是  商 x 除数  + 余数 = 被除数,

所以,4除以任何一个比4大的数n 都是商0余4,  这样 0 x n + 4 = 4  这个逻辑才是正确的,不然楼主以为结果是几,代进去试试就会发现问题了

1 回复 有任何疑惑可以回复我~

写反了的话,值应该是4呢;对于%运算,如果分子小于分母,则商为0,余数为分子;/运算,商有整数部分则取整数部分,无则为0 

1 回复 有任何疑惑可以回复我~

/是取整数,%是取余数

0 回复 有任何疑惑可以回复我~
#1

慕粉1204256817 提问者

这个我知道,但是遇到分子大于分母,或者分子为零,值应该分别怎么算呢?
2017-03-25 回复 有任何疑惑可以回复我~
#2

PerFecter_Q 回复 慕粉1204256817 提问者

5*8=40 7+2=9 40/9=4 4%5=4 分子大于分母,或者分子为零,那么余数就是分子 即,4/5=0;4%5=4
2017-03-26 回复 有任何疑惑可以回复我~

7*8=56

5+2=7

56/7=8

8%7=1

按照你给出的定义,X是等于1的。在eclipse上运行后,结果也是1。

0 回复 有任何疑惑可以回复我~
#1

慕粉1204256817 提问者

n和m值写反了,抱歉,这应该是多少?
2017-03-25 回复 有任何疑惑可以回复我~
#2

慕粉1204256817 提问者

n和m值写反了,抱歉,这应该是多少?
2017-03-25 回复 有任何疑惑可以回复我~

m的值为7,7*8=56,n的值为5,5+2=7,56除7=8,8%7=1,不是4 ,伙计,不知道你是怎么得出的4.

0 回复 有任何疑惑可以回复我~
#1

慕粉1204256817 提问者

写反了,n是7 m是5
2017-03-25 回复 有任何疑惑可以回复我~
#2

慕瓜9932997 回复 慕粉1204256817 提问者

应该是3
2017-03-25 回复 有任何疑惑可以回复我~
#3

慕粉1204256817 提问者 回复 慕瓜9932997

3是不对的,你算错了把?
2017-03-25 回复 有任何疑惑可以回复我~
#4

慕粉1204256817 提问者 回复 慕瓜9932997

3是不对的,你算错了把?
2017-03-25 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165581    人
  • 解答问题       17587    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

小白问题二

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信