c语言题的题,求大神解答

题目:一条很简单的c语言题题泹是我超时了,求大神解答只有神知道的世界
在天地人三界之中,二次元空间已是家喻户晓但是,存在于神秘国度的三次元空间却鲜為人知因为那是只有神知道的世界。 传说中要进入三次元空间必须通过守门大将的考核。 这是一个很简单的题目对于任意一个非负數N,我们定义D(N) 为N上奇数数字的和加上两倍偶数数字的和举个例子:D(567) = 5 + 6 * 2 + 7 = 24, D(314159) = 3 + 1 + 2 * 4 + ***: 直接硬算肯定TLE。话说那个add(C)后面%10干嘛 这类题类似于:从数字A到數字B,连在一起写(比如15到25就是),0~9各数字各出现了几次这是可以直接计算而不必遍历的。 05年ICPC上海交大赛区就有这个变种 思路是这樣的:计算个十百千万等各位数字上0到9分别出现了几次。出现的次数是更高位的次数 * 低位的遍历 比如0~12345,那么千位数上出线0的次数是1000次(從)出现1的次数是2000次(和),出现2的次数是1346次(000~12345)出现3~9都是1000次(X000~X999)。

参考资料

 

随机推荐