【上机笔试之十七】A的B次方

来源:互联网 发布:手机版淘宝的新品上架 编辑:程序博客网 时间:2024/06/08 06:34

题目要求:计算A的B次方,取结果的后三位
思路:将次方降维,再计算结果。取结果的后三位,这就可以每次只取后三位计算。

#include<iostream>#include<math.h>using namespace std;void main(){    int a;    int b, ans = 1;    while (scanf("%d%d", &a, &b) != EOF)     {        ans = 1;        if (a == 0 && b == 0) {            break;        } else {            while (b != 0) {                if (b % 2 == 1) {                    ans *= a;                    ans %= 1000;                }                b /= 2;                a *= a;                a %= 1000;            }            printf("%d\n", ans);        }    }}
0 0
原创粉丝点击