设为首页 加入收藏

TOP

uva 1363 - Joseph's Problem(数论)
2015-07-24 05:42:00 来源: 作者: 【 】 浏览:4
Tags:uva 1363 Joseph' Problem 数论

题目链接:uva 1363 - Joseph's Problem

题目大意:给定n,k,求∑i=1n(k%i).

解题思路:参考别人的,自己想了很久,详细题解

#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; typedef long long ll; ll solve (ll n, ll k) { ll sum = 0; if (n > k) sum += (n-k) * k; ll a = sqrt(k+0.5), b = k / a; for (ll i = a; i > 1; i--) { ll s = k / i; ll e = k / (i-1); if (s > n) break; if (e > n) e = n; sum += ( (k%(s+1) + k%e) * (e - s) / 2); } for (ll i = 2; i <= b && i <= n; i++) sum += k%i; return sum; } int main () { ll n, k; while (scanf("%lld%lld", &n, &k) == 2) { printf("%lld\n", solve(n, k)); } return 0; }
      
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HexDump.java解析 下一篇hdu 2476 String painter

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: