华师一附中OI组

标题: 123456789101112131415****,从左到右第N位是几 [打印本页]

作者: admin    时间: 2018-6-4 19:59
标题: 123456789101112131415****,从左到右第N位是几
不是数出来是算出来的
作者: admin    时间: 2018-6-10 10:00
  1. ///12345678910111213第n位
  2. #include<iostream>
  3. using namespace std;
  4. int n,x,a,b,x1,x2,x3;
  5. int main()
  6. {
  7.     cin>>n;
  8.     if (n<=9) x=n;
  9.     else if (n<=189) ///两位数90个,占180个位子
  10.     {
  11.         n=n-9;///减掉前面9个
  12.         a=(n-1)/2+1; ///第几个两位数 参考苹果装箱
  13.         b=a+9; ///这个两位数是几
  14.         x1=b/10,x2=b%10; ///个位和十位
  15.         if (n%2==1) x=x1;else x=x2;

  16.     }
  17.     else if (n<=2889){
  18.         n=n-189;
  19.         a=(n-1)/3+1;
  20.         b=a+99;
  21.         x1=b/100%10,x2=b/10%10,x3=b/1%10;
  22.         if (n%3==1) x=x1;
  23.         else if (n%3==2) x=x2;
  24.         else x=x3;
  25.     }
  26.     cout<<x;
  27.     return 0;
  28. }
复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2