您的位置:首页 > 其它

UVA - 10994 Simple Addition

2015-03-18 20:41 239 查看
题目大意:给出l和r,求∑(l≤i≤r)F(i), F(i)函数题目中有。

解题思路:1 ~ N 之间的数可以按照1~9划分(只会有这几种情况), 我们可以算出 1 ~ p - 1 间的和, 再算出 1 ~ q 间的和 , 然后用 1 ~ q 间的和减去 1 ~ p ~ 1 间的和得出的结果即为 p ~ q 间的和

#include <cstdio>
typedef long long LL;

LL F(LL n) {
LL ans = 0;
do {
ans += ((n % 10) + 1) * (n % 10) / 2 + n / 10 * 45;
} while (n /= 10);
return ans;
}

int main() {
LL p, q;
while (scanf("%lld%lld", &p, &q), p > -1)
printf("%lld\n", F(q) - F(--p));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: