数学の問題 - 半分の累乗例

例4.10かわいいA ^ B 

タイトル説明

A ^ Bの整数表現の最後の3桁の数字を求めています。説明:A ^ B "はA、Bのパワー" の意味であります 

エントリー

テストケースは、複数の各インスタンスに対して1つの列を含む入力データは、2つの正整数AとBは()、A = 0の場合、B = 0は、それが処理することなく、入力データの終わりを示します。 

輸出

各テストケースのために、最後の3つの出力A ^ B整数表現、行当たりそれぞれ出力します。

サンプル入力

2  3  
12  6  
6789  10000  
0  0

サンプル出力

8  
984  
1 

問題解決のためのコード

#include <cstdioを> int型のmain()
{ int型A、B、
     一方(scanfの(" %のDの%のD "、A&、&B)=!EOF)
    { IF(== 0 && Bの== 0BREAK ;
         INT = ANS 1。 ; //は、最終的な変数の初期値の結果を保存1。一方、(b!= 0// bが0である場合、すなわち、バイナリ変換プロセスはのBを終了        {
             IF(Bの%2 == 1// 現在のビットが1であり、変数ANSに2 ^ k倍を乗算することが必要です            {


    
        
        


                ANS  = *; 
                ANSの%= 1000 ; // 最後の3桁を見つける
            } 
            B / = 2 ; // Bは、2で割って 
            * =; //は、すなわち1の時点から、次のビット重みを見つけます、2倍、4倍......の配列見つける 
            %= 1000 ; // 3の後に見つける 
        } // Bの二進値を算出しながら2 ^ k倍の計算中、および所望の乗法ANSに一部 
        のprintf(" %d個の\ N- " 、ANS); 
    } 
    戻り 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/yun-an/p/11074833.html