测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A25279. remainder问题描述给出正整数n和k,计算G(n,k)=k mod 1 + k mode 2 + k mode 3 + ... + k mod n的值。其中,k mod i表示k除以i的余数。例如,G(5,3)=3 mod 1 + 3 mode 2 + 3 mode 3 + 3 mod 4 + 3 mod 5 = 0 + 1 + 0 + 3 + 3 = 7。输入说明输入仅一行,包含两个整数…

填空题 中等

题目描述

remainder

问题描述

给出正整数n和k,计算G(n,k)=k mod 1 + k mode 2 + k mode 3 + ... + k mod n的值。其中,k mod i表示k除以i的余数。

例如,G(5,3)=3 mod 1 + 3 mode 2 + 3 mode 3 + 3 mod 4 + 3 mod 5 = 0 + 1 + 0 + 3 + 3 = 7。

输入说明

输入仅一行,包含两个整数n、k。

输出说明

输出仅一行,即G(n,k)。

样例输入

5 3

样例输出

7

数据范围

40%的数据满足:1≤n,k≤1000

60%的数据满足:1≤n,k≤10^7

100%的数据满足:1≤n,k≤10^9

参考答案

#include <iostream> using namespace std; int main() { long long n,k,ans; cin>>n>>k; ans=n*k; int L, R; for(L=1; L<=n; L=R+1) { if(L>k) R=n; else R=min(k/(k/L), n); ans -= (k/L)*(L+R)*(R-L+1)/2; } cout<<ans<<endl; return 0; }
上一题 下一题