• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • POJ2305 – Basic remains

    ACM-POJ EXP 128阅读 0评论

    全解题报告索引目录 -> 【北大ACM – POJ试题分类


    大致题意

    在b进制下,求p%m

    其中p为b进制大数1000位以内,m为b进制数9位以内

    解题思路

    以字符串形式保存p,m

    利用进制转换公式先把m逐位转换为10进制,由于m只有9位,因此直接转换用int保存即可。

    再利用进制转换公式把p逐位转换为10进制,为了避免处理大数,转换过程中,若出现比m大的时候,则对m取模,继续转换。根据同余模公式知,这是允许的。

    此时得到的p值就是 (10进制p)%(10进制m)

    当p==0时,直接输出,否则把p逐位转换回去n进制再输出。

    n进制的p必须用数组保存,因为10进制的p虽然不是大数,但n进制就不一定。


    PS:不要用大数去做,当p>>m时,会超时的。

    转载请注明:EXP 技术分享博客 » POJ2305 – Basic remains

    喜欢 (1) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址