1363 - Joseph's Problem
2017-11-11 14:49
387 查看
分析kmodi以及kmod(i+1)的余数的大小规律,然后按照分析出来的等差数列的性质进行求解,注意长整型的使用避免溢出,具体实现见如下代码:
#include<iostream> #include<vector> #include<string> #include<set> #include<stack> #include<queue> #include<map> #include<algorithm> #include<cmath> #include<iomanip> #include<cstring> #include<sstream> #include<cstdio> #include<deque> #include<functional> using namespace std; typedef long long LL; long long getRes(int total,int q,int p){ int first = q; int last = q - total*p; return (long long)(first + last)*(total+1) / 2; } int main(){ int n, k; while (cin >> n >> k){ int i = 1; int cnt = 0; LL ans = 0; while (i <= n){ int p = k / i, q = k%i; cnt = n - i; if(p>0) cnt = min(cnt, q / p); ans += getRes(cnt, q, p); i += cnt+1; } cout << ans << endl; } return 0; }
相关文章推荐
- uva 1363 Joseph's Problem 等差数列
- UVA - 1363 Joseph's Problem
- UVa 1363 Joseph's Problem
- UVA - 1363 Joseph's Problem(打表找规律)
- UVA 1363 - Joseph's Problem(数论)
- uva 1363 - Joseph's Problem(数论)
- UVa 1363 POJ 2800 Joseph's Problem
- UVa1363 - Joseph's Problem(数论)
- 1363 - Joseph's Problem
- UVA 1363 Joseph's Problem(数论)
- uva1363 Joseph's Problem
- (one day one problem)poj 2800 Joseph's Problem (数学)
- UVA1363 - Joseph's Problem(数学,迷之优化)
- Joseph's Problem 数论 找规律
- POJ 2800 Joseph’s Problem 数论找规律
- POJ 2800 Joseph's Problem
- UVa 1363 (数论 数列求和) Joseph's Problem
- UVa1363 Joseph's Problem
- POJ 2800 Joseph's Problem 笔记
- ZOJ 2646 Joseph's Problem