模拟除法和取余运算(hdu acm 2114&2117)

本文介绍了在杭电ACM竞赛中遇到的2114和2117两道题目,这两道题目涉及到模拟除法和取余运算的重要运用。在处理大数时,取余运算具有关键作用;而模拟整除则是通过不断重复基本的除法过程来获取小数点后任意位的数值。在2114题中,需要计算大数立方和的后四位,通过取余得到结果;2117题的解决方案未给出详细内容。
摘要由CSDN通过智能技术生成

最近在杭电的ACM上看到了两道题2116,2117.虽然难度不算太大,却给了我很大的启示。除法与取余运算,这两种本该在一种运算中的工具。具有不同的意义。

顾名思义,取余得到的结果,就是被除数除去除数后的结果。这种运算,在处理大数的过程中具有很大的意义。而做模拟整除,就是在不断重复我们小学时代做除法竖式时的情景,即做除法,得到一个结果,再对得到的余数乘上10(或者进制数)再次进行除法。我们惯性的思维总觉得是得到了小数点后的某一位。但是实际上,我们得到的是一个个位上的数,这就是模拟除法。可以得到小数点后任意一位数。

题目的说明:

                hdu acm 2114

       这道题要求输出一个很大的数的立方和的后四位数,我们采用long long但在输出时,对最后的四位取余数。得到最后的结果。

               hdu acm 2117


最后的代码:

 2114

  #include <iomanip>
  #include<iostream>
  int main()
  {
      using namespace std;
      long long n,sum;
      cin >> n;
      sum=((n*(n+1))%10000/2)*((n*(n+1))%10000/2);
      cout<<setw(4)<<setfill('0')<<sum;
      return 0;
  }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值