大数笔试总结
还是太嫩了
你对数之大还是没有概念啊
还是太嫩了
你对数之大还是没有概念啊
全部评论
所以可以,两个已经对1e9+7取余后的数相加后立即对1e9+7取余,就不会溢出了,不可以三个数相加再对1e9取余
以后一律 变量都用long类型,反正sout输出时不会有任何影响
先取余再相加,先取余再相乘,都不影响最后的结果
但是先取余再比较大小,大小顺序就不一定对了,所以要先用long或者BigInteger 保存变量值,比较出大小之后,再取余
1e9+7大于int,小于long,而long又小于BigInteger
我真是个***,用不好long,还不如直接用BigInteger
对于做乘法时可能超出int的范围(大概是2×10^9)时,只需要确保两个乘数中有一个是long类型的计科,结果一定也是long类型的,然后用一个long的变量保存即可
对于做加法可能超出int的范围,注意 如果加数可能超出int的范围,那么加数一定要写成long的形式,要不然,还没等你相加呢,加数就首先爆了,具体的可以用一个long类型的变量来做加数,里面保存的是加数世纪的值,或者在普通的整数后面加上 后缀L标明它是一个long类型的数,它也会以long类型的加数形式参与加法运算,要不然就会爆出了。
可以先取模,再相乘
可以先取模,再相乘,注意:然后还要再取模一次
同理,也可以先取模,再相加,注意:然后再取模
草稿纸留大一点空隙, 别着急下结论,多往下推几步,比如n为5
n小于4可能是一种规律,n大于等于4是另一种规律,有自己独自的起点和递增规律,这种一般是极其类似于动态规划,我称之为假性动态规划,不妨仔细的往下多推几步。方向错了,你再怎么解决这个方向上的问题和检查,也不可能得到正确答案,为什么一开始要这么才推了短短的几步就得出答案呢,不以物喜,不以己悲。乐极生悲
相关推荐
11-10 22:06
上海震旦职业学院 前端工程师 点赞 评论 收藏
分享