作者h3615840 (傲笑苍鹰)
看板C_and_CPP
标题[问题] 有关ACM10994
时间Sat Mar 7 21:30:41 2009
我想请问有关ACM10994的问题
题目是有给两个函数:
F(n) = n%10 if(n%10)>0
0 if n = 0
F(n/10) Otherwise
S(p,q) = F(i) i从p到q所有函数连加
这题起初我是用回圈来做
起初先依照公式将p值带入计算加总
直到p值成为10的倍数时
再看与Q的差距,决定是否以10或100加总跳动
不过由於出现个1 2147483647的资测
所以测试还是TLE
现在的想法是想说利用数学关系式来解
如果是p=1;q=100时
就(100/10)*45+(10/10)*45+1
(若最後项不为1则从1开始加到该项)
可是遇到起始不为1时似乎就不能用
请问这样的想法是有错吗?还是说有少了什麽东西?
想法要怎样修改才可以求得正解?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.235.205
1F:推 Fenikso:方向对了 03/07 21:52
2F:→ Fenikso:你现在有另一个比较好算的函数g(x)=f(1)+...+f(x) 03/07 21:52
3F:→ Fenikso:想个方法用g拼出f(p)+..+f(q)就行了 03/07 21:53