上げるモジュロ番号POJ 1995(高速電力テンプレート)

オリジナルタイトル

トピックリンク

トピック分析

高速電力テンプレートのタイトルは、剰余ミを高速に意図した一連の質問によると、その後、解答プラス側金型をすることができます。

コード

1の#include <cstdioを>
 2の#include <cstdlib>
 3の#include <iostreamの>
 4の#include <アルゴリズム>
 5の#include <ユーティリティ>
 6の#include <ctimeの>
 7の#include <cmath>
 8の#include <CStringの>
 9# <含む文字列 >
 10の#include <積層>
 11の#include <キュー>
 12の#include <ベクトル>
 13の#include < 設定 >
 14の#include <地図>
 15  
16  使って 名前空間STDを、
17のtypedef 長いです ロングLL;
18  CONST  INT INF_INT = 0x3f3f3f3f 19  CONST LL INF_LL = 0x3f3f3f3f3f3f3f3f 20  
21  LLのq_power(LL、LLのB、LLのMOD)
 22  {
 23      LLのRES = 1 24      %= MOD。
25      一方、(B)
 26      {
 27          であれば(B&1)のRES =(RES * A)%MOD。
28          A =(* A)%MOD。
29          B >> = 1 30      }
 31     リターンのres;
32  }
 33  
34  のint main()の
 35  {
 36  //     freopenは( "black.in"、 "R"、STDIN)。
37  //     freopenは( "black.out"、 "W"、STDOUT)。
38      int型のT;
39      のscanf(" %dの"、&T)。
40      一方(t-- 41      {
 42          のint M、H。
43          のscanf(" %d個の%のD "、&​​M、&H)。
44の          LL RES = 0 45         以下のためにint型 i = 0 ; iはH <; iは++ 46          {
 47              LLのA、B。
48              のscanf(" %のLLDの%のLLD "、&​​、&B)。
49の              RES =(RES + q_power(A、B、M))%のM。
50          }
 51          のprintf(" %LLDする\ n " 、RES)。
52      }
 53      リターン 0 54 }

 

おすすめ

転載: www.cnblogs.com/VBEL/p/11444673.html