博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1019
阅读量:7107 次
发布时间:2019-06-28

本文共 1785 字,大约阅读时间需要 5 分钟。

规律题

View Code
#include 
using namespace std;long long mi[20], len[50], eachlen[50];long long make(long long num, long long n){ long long i, x, goal; i = 1; while (true) { if (n > i * (mi[i] - mi[i - 1])) n -= i * (mi[i] - mi[i - 1]); else break; i++; } x = n / i; if (n % i == 0) x -= 1; n -= x * i; goal = x + mi[i - 1]; n = i - n + 1; for (i = 0; i < n - 1; i++) goal /= 10; return goal % 10;}long long work(long long n){ long long i, start, each, l, r, mid, num; i = 0; while (n > len[i]) i++; i--; start = i; n -= len[i]; each = eachlen[i]; l = 0; r = mi[start + 1] - mi[start]; while (l < r) { mid = (l + r) / 2; if ((l + r) % 2 != 0) mid +=1; if ((each + start + 1 + each + mid * (start + 1)) * mid / 2 < n) l = mid; else r = mid - 1; } mid = l; n -= (each + start + 1 + each + mid * (start + 1)) * mid / 2; num = mi[start] + mid; return make(num, n);}int main(){ long long i, t, n; //freopen("t.txt", "r", stdin); mi[0] = 1; for (i = 1; i <= 5; i++) mi[i] = mi[i - 1] * 10; memset(len, 0, sizeof(len)); memset(eachlen, 0, sizeof(eachlen)); for (i = 1; i <= 5; i++) { len[i] = len[i - 1]; len[i] += eachlen[i - 1] * (mi[i] - mi[i - 1]); len[i] += (i + i * (mi[i] - mi[i - 1])) * (mi[i] - mi[i - 1]) / 2; eachlen[i] += eachlen[i - 1]; eachlen[i] += i * (mi[i] - mi[i - 1]); } cin >> t; while (t--) { cin >> n; cout << work(n) << endl; } return 0;}

 

转载于:https://www.cnblogs.com/rainydays/archive/2012/12/15/2819434.html

你可能感兴趣的文章
丁香园开源接口管理系统
查看>>
[LeetCode] Remove Element
查看>>
ConcurrentHashMap源码分析_JDK1.8版本
查看>>
竹翎(Material风格的APP,附源码)
查看>>
API数据格式转换方法学习
查看>>
精益业务分析宣言解读
查看>>
装修红宝书
查看>>
swiper 划不动问题
查看>>
Inferno 7.1.12 发布,类 React 的高性能用户界面库
查看>>
MP实战系列(十二)之封装方法详解(续二)
查看>>
“想学吗”个人知识管理工具 6.0.5 发布,支持更多平台
查看>>
nginx作为web服务器一个重要的功能就是反向代理
查看>>
ECShop出现Strict Standards: Only variables should be passed by reference in的解决方法
查看>>
一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手
查看>>
神经网络和深度学习(吴恩达 Andrew Ng):一二周学习笔记
查看>>
QueryPHP V1-alpha.3 完善权限,支持 Swoole 4 和 RoadRunner
查看>>
Git从0到1
查看>>
Google 正式开源 Jib ,帮助 Java 应用快速容器化
查看>>
Python小技巧
查看>>
Scroll-view
查看>>