zoukankan      html  css  js  c++  java
  • POJ NOI MATH-7833 幂的末尾

    问题链接POJ NOI MATH-7833 幂的末尾



    总时间限制:
    1000ms
    内存限制:
    65536kB
    描述

    幂ab的末3位数是多少?

    输入
    两个正整数a,b。1 <= a <= 100,1 <= b <= 10000。
    输出
    从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。
    样例输入
    7 2011
    样例输出
    743
    来源
    2011年我爱数学少年夏令营数学竞赛 第4题


    问题分析

      模幂运算可以解决这个问题。

      需要注意输出格式!

    程序说明

      C++语言在处理输出格式上似乎不如C语言方便。




    AC的C++语言程序:

    #include <iostream>
    #include <cstdio>
    
    using namespace std;
    
    const int MOD = 1000;
    
    // 快速模幂函数
    int powermod(int a, int n, int m)
    {
        int res = 1L;
        while(n) {
            if(n & 1L) {
                res *= a;
                res %= m;
            }
            a *= a;
            a %= m;
            n >>= 1;
        }
        return res;
    }
    
    int main()
    {
        int a, b;
    
        cin >> a >> b;
    
    //    cout << powermod(a, b, MOD) << endl;
        printf("%03d
    ", powermod(a, b, MOD));
    
        return 0;
    }



  • 相关阅读:
    我要把铁路修到威斯特摩兰
    1新建空白jasperreport模板
    oracle权限
    swagger配置
    lombok插件基本使用
    oracle与sqlserver的区别
    yaml语法学习
    第一个SpringBoot
    spring多环境切换
    JSR303数据校验
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563965.html
Copyright © 2011-2022 走看看