1019数列

トピック:

説明は
、単一の正の整数Iについて説明します。位置S1S2 ... Skのデジタル位置I列の数字のセットを見つけるためにプログラミング。各グループは1つずつ書かれた1からKまでの範囲の一連Skの正の整数、で構成されています。
たとえば、最初の80桁のシーケンスは以下の通りである
11212312341234512345612345671234567812345678912345678910123456789101112345678910
入力し
、入力ファイルの最初の行を整数t(1≤t≤10)、テストケースの数、ライン続く各テストを含んでいます。テストラインは、単一の整数I(1≤i≤2147483647)含有
の出力
各テストケースは、位置Iに配置デジタルを含む出力ラインを有していなければなりません。
サンプル入力
2
。8
。3
サンプル出力
2
2

書式#include <math.h>の
書式#include <iostreamの>
 使用して 名前空間はstdを、
符号なし整数 [ 31270 ]、S [ 31270 ]。
無効リセット()// 打表
{
     int型私は、
    [ 1 ] = 1 
    S [ 1 ] = 1 (i = 2、iは< 31270 ; iは++が
    { 
        [i]は [I-= 1 ] +(INT)のlog10((二重)は、i)+ 1 
        S [i]は = sの[I- 1 ] + [I]。
    }     
}     

int型のmain()
{ 
    int型T。
    int型のn;
    int型私は、
    scanf関数(" %のD "、&T)。
    リセット(); 
    一方、(T-- 
    { 
        scanf関数(" %のD "、&N)
        I = 1 ; 
        
        一方、(S [i]の<N)は、i ++ 
      
        INT POS = NS [I- 1 ]。 
        int型の TMP = 0 ;
        ために(I = 1、TMP <POS; I ++ 
        { 
            TMP + =(INT)loglO((ダブル)I)+ 1 ; 
        }    
        int型 K = tmp- POS; 
        のprintf(" %Dの\のN- "、(I- 1)/(INT)POW(10.0、K)%10); / * 左右要求するために、123456のように、K = 2は、その結果である4。* / 

    }   
    戻り 0 ; 
     
}

出典ます。https://www.cnblogs.com/kuangbin/archive/2011/07/21/2113279.html

おすすめ

転載: www.cnblogs.com/sweet-ginger-candy/p/11518190.html