Digit【2015 湘潭大学程序设计比赛(Internet)】
来源:互联网 发布:淘宝怎么有付费流量 编辑:程序博客网 时间:2024/05/15 07:04
Click to view the problem
思路:这道题我就是直接算,给定的字符串是从1开始的,可以确定有9个一位数,90个两位数,900个三位数,9000个四位数…….so,计算一下所给的n包含的有几位数,并计算出最后一个数。具体步骤看代码。。。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ __int64 t, n, k; __int64 sum, l; //没用长整形会爆掉 __int64 x, pp, i; int ans, a[10]; scanf("%I64d", &t); while(t--) { scanf("%I64d", &n); for(i = 9,k = 1; ; i = i * 10) { sum = i * k; if(n <= sum) break; k++; //计算出数字位数 n -= sum; } if(n / k == 0) x = i / 9; else x = (n/k) + i / 9 - 1; //计算出第n位所在的那个数 if(n % k == 0) ans = x % 10; //如果能整除,证明是数的最后一位 else //将 { pp = (n % k) - 1; //所求的数字的位数 i = k - 1; if(n % k != 0) x++; while(1) //将x拆开存到数组 { if(x == 0) break; a[i] = x % 10; x /= 10; i--; } ans = a[pp]; } printf("%d\n", ans); } return 0;}
0 0
- Digit【2015 湘潭大学程序设计比赛(Internet)】
- 2015 湘潭大学程序设计比赛(Internet)
- Digit(湘潭大学比赛)
- 2015 湘潭大学程序设计比赛(Internet)Problem D:最小的数
- 2015 湘潭大学程序设计比赛(Internet) 全解析 + AC代码
- 2015 湘潭大学程序设计比赛(Internet)--D题-最小的数
- 2015 湘潭大学程序设计比赛(Internet)部分题解,其中有一个题与NYOJ1057很像,贪心过~~
- 2008湘潭大学程序设计比赛解题报告
- 2013年湘潭大学程序设计比赛
- 第八届湘潭大学程序设计比赛
- 第八届湘潭大学程序设计比赛A题
- 第八届湘潭大学程序设计比赛(题解)
- 第八届湘潭大学程序设计比赛 A Love Letter
- 第八届湘潭大学程序设计比赛 Problem C Cipher Lock
- 第八届湘潭大学程序设计比赛 c题
- 湘潭大学程序设计实践 1195
- 湘潭大学程序设计实践 1194
- 湘潭大学第八届程序设计竞赛B题
- 排序算法小结
- vsftp访问FTP用户根目录以外的数据的实现方法
- 我对php的mvc的一些理解,以及自己写的框架
- 碰撞运动
- machine learning week 9 异常检测 推荐系统
- Digit【2015 湘潭大学程序设计比赛(Internet)】
- codeforces 538A
- qt不支持jpg格式图片
- 视频测试序列的下载地址
- STM32只开启SWD模式调试程序
- CSS如何定义DIV背景半透明颜色
- ASimpleCache开源库使用分析
- ppt转换pdf方法与操作步骤
- (行为型模式四)访问者模式