【经典例题】高次幂的后几位数

程序:

/*
Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者:赵玲玲
* 完成日期:2014 年 1 月 17 日
* 版 本 号:v1.0
* 输入描述: 13 13     13 20
* 问题描述:13的13次方的后三位是多少
* 程序输出:253 801
* 问题分析:只提取每次相乘后的后三位,不用管高位数的
* 算法设计:略
*/
#include <iostream>
using namespace std;
int main()
{
    long num,ci,i,m;
    cout<<"请输入:X的Y次方"<<endl;
    cin>>num>>ci;
    m=num;
    for(i=1; i<ci; i++)//次数
    {
        m=m*num%1000;//提取后三位,对1000求余即可
    }
    cout<<num<<"的"<<ci<<"次方的后三位数是:"<<m<<endl;
    return 0;
}

结果:【经典例题】高次幂的后几位数_第1张图片

           【经典例题】高次幂的后几位数_第2张图片

体会:因为个几位数费了一些劲,后来才明白,对1000求余就好了啊!再就是保留三位数与13相乘

你可能感兴趣的:(【经典例题】高次幂的后几位数)