高速電力E - 先頭と末尾のLightOJ - 1282

E - 先頭と末尾

 1282 - Laigtoj 

この1つは取る必要がある場合、ない取るしないように高速電力は主に、2 n個のバイナリビットに分割し、xは常にX-> X ^ 2 - > X ^から、前進されるカウンタである 4 までn個の最上位ビット
の本質は、成形と関連するデータをステップの前に後に必要な工程の後、モジュロ結果です。

3の数がlog10.log nの関数として評価されるため^この問題は依然として非常に有用であるKです。考え抜か。

1の#include <iostreamの>
 2の#include <CStringの>
 3の#include < ストリング >
 4の#include <地図>
 5の#include < 設定 >
 6の#include <アルゴリズム>
 7の#include <fstreamの>
 8の#include <cstdioを>
 9# <cmath>含む
 10の#include <積層>
 11の#include <キュー>
 12  使用 名前空間STDを、
13  CONST  ダブルパイ= 3.14159265358979323846 14 typedefの長い 長いLL。
15  のconst  int型 MAXN = 5000 + 5 16  のconst  int型 DX [ 5 ] = { 0001、 - 1 }。
17  のconst  int型 DY [ 5 ] = { 1、 - 1000 }。
18  CONST  INT INF = 0x3f3f3f3f 19  CONST  INT NINF = 0xc0c0c0c0 20 LL mod_pow(LL N、LL X、MOD LL)
 21  { 
 22      LL ANS = 1 23      一方、(N> 0 ){
 24          であれば(N - 1)ANS = ANS * X%MOD。
25          X = X * X%MOD。
26          N >> = 1 27      }
 28の     リターンANS。
29  }
 30  
31  のint main()の
 32  {
 33      int型の CNT = 0 34      int型の T; cinを>> トン。
35      しばらく(t-- 36      {
 37          のLL N、K; CIN >> N >> K。
38          LL最後= mod_pow(K、N、1000年)。        
39          ダブル P = k個*のlog10の(N)
40          LL X =(LL)P。二重 Y = P- X。
41          、Y = POW(10、Y)* 100 42          っ最初= INT (Y)
43          のprintf(" ケース%D:%03lld%03lld \ n "、++ 最初、最後CNT)。
44      }
 45      リターン 0 46   }

 

おすすめ

転載: www.cnblogs.com/Msmw/p/10991172.html