只要知道n/k为n一下能被k整除的数的总和就行了。
#include<stdio.h>
typedef long long ll;
ll abs(ll x) {
return x>0?x:-x;
}
int main() {
ll k,a,b;
while(~scanf("%I64d%I64d%I64d",&k,&a,&b)) {
ll ans;
if(a>0&&b>0) {
ans=abs(b/k)-abs((a-1)/k);
} else if(a<0&&b<0) {
ans=abs(a/k)-abs((b+1)/k);
} else {
ans=abs(a/k)+abs(b/k)+1;
}
printf("%I64d\n",ans);
}
return 0;
}

本文提供了一段ACM竞赛中解决特定数学问题的代码实现,该问题涉及到求解一定范围内能被特定数字整除的数的数量。通过巧妙地利用数学公式简化计算过程,实现了高效求解。
1759

被折叠的 条评论
为什么被折叠?



