第二题:菜鸟仓库是一个很大很神奇的地方,各种琳琅满目的商品整整齐齐地摆放在一排排货架上,通常一种品类(sku)的商品会放置在货架的某一个格子中,格子设有统一的编号,方便工人们拣选。 有一天沐哲去菜鸟仓库参观,无意中发现第1个货架格子编码为1,第2-3个分别为1,2,第4-6个格子分别是1,2,3,第7-10个格子编号分别是1,2,3,4,每个格子编号都是0-9中的一个整数,且相邻格子的编号连在一起有如下规律 1|12|123|1234|...|123456789101112131415|...|123456789101112131415……n 这个仓库存放的商品品类非常丰富,共有1千万多个货架格子。沐哲很好奇,他想快速知道第k个格子编号是多少?
/** 请完成下面这个函数,实现题目要求的功能 **/
/** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^ **/
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string>
#include<sstream>
using namespace std;
int Get(int n){
if(n <= 0) return -1;
int x;
int start = 1;
int last;
int i = 0;
string biaoji = "";
while(1)
{
last = start;
start = start + i;
i ++;
stringstream ss;
ss << i;
biaoji = biaoji + ss.str();
if(start > n)
break;
}
start = last;
int index = n - start;
x = biaoji[index] - '0';
return x;
}
int main()
{
int n;
scanf("%d",&n);
int r = Get(n);
printf("%d\n",r);
}