MagicSource(数学类)-由数到位,效率质的变化

本文介绍了如何使用算法高效地找到一个正整数的最小魔法源数。通过从位数而非数值进行枚举,显著减少了计算量,即使对于大规模数据也能在短时间内得出结果。算法核心包括对位数的推算,处理进位和判断条件等细节。
摘要由CSDN通过智能技术生成

/***
author:steel 2009-10-23

srm451 MagicSource 
解题思路:
 解法一:利用枚举法,最后发现对某些数据超时 eg:999999999988->909090908
 解法二:即本程序解法,不是对数进行枚举,而是对数的为数进行枚举,这样枚举量发生了质的飞跃,
 2^64=18446744073709551616 还不到20位,然后对确定的位数,从低位到高位进行推算,但是在这个推算
 的过程中有好几个地方的细节需要考虑
 例如:
        909090908
       909090908
      909090908
      ...
      本来是可以列很多行,但是他只要两行就已经满足了条件,所以在推到第j位的时候要做判断处理
      这是我的一种解法,也许还有更好更简便的方法,希望大家指教。
      但我的算法在整个230个测试样例中,最多耗时只要2ms,所以说效率还是蛮高的

题目大意:
Problem Statement for MagicalSource


Problem Statement
Rick firmly believes that there are magical patterns related to some numbers. This belief is the result of his own tendency to find odd patterns everywhere. He has recently thought that some numbers have a "

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值