zoukankan      html  css  js  c++  java
  • 【小米OJ-找到第N个数字Ⅱ】

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    typedef long long ll;
    string now;
    ll n;
    int main()
    {
        while(~scanf("%lld",&n))
        {
            now="";
            ll m=1;
            ll sum=0;
            while(1)
            {
                now+=std::to_string(m);
                m++;
                if(sum+now.size()<n)
                {
                    sum+=now.size();
                }
                else if(sum+now.size()==n) 
                {
                    cout<<now[now.size()-1]<<endl;
                    break;
                }
                else 
                {
                    ll pos=n-sum;
                    cout<<now[pos-1]<<endl;
                    break;
                }
            }
        }
        return 0;
    }
    

      

    #include <stdio.h>
    #define ll long long
    int lg(ll n){
    	int res = 1;
    	n /= 10;
    	while (n > 0){
    		n /= 10;
    		res++;
    	}
    	return res;
    }
    int putDigit(ll num, ll d, ll len){
    	while (++d < len)
    		num /= 10;
    	return num % 10;
    }
    int main (void){
    	ll n, rows = 0, digit = 1;
    	scanf("%lld", &n);
    	while(n > rows){
    		n -= rows;
    		rows += lg(digit++);
    	}
    	ll base = 9, ith = 1;
    	digit = 1;
    	while (n > base * digit){
    		n -= base * digit;
    		digit++;
    		ith += base;
    		base *= 10;
    	}
    	printf("%d", putDigit(ith + (n - 1) / digit, (n - 1) % digit, digit));
    	return 0;
    }
    

      

    不忘初心,方得始终。只有走过弯路,才更确信当初最想要的是什么。
  • 相关阅读:
    HTML5之特效
    css3圆角矩形、盒子阴影
    vertical-align垂直居中
    CSS3选择器
    经典导航栏
    C#获得时间段
    C#抓取和分析网页的类
    c#基础知识索引器
    强制浏览器重定向到另一页
    雅虎公司C#笔试题及参考答案
  • 原文地址:https://www.cnblogs.com/wszhu/p/12821854.html
Copyright © 2011-2022 走看看