求x的y的幂次方的最后3位数
求x的y的幂次方的最后3位数
程序代码如下:
/*
2017年3月12日14:07:05
功能:程序求x的y的幂次方的最后3位数
*/
#include"stdio.h"
void fun(int);
int main()
{
int x, y;
int x_power_y = 1;
printf("please int two number x and y :");
scanf("%d %d", &x, &y);
for (int i = 0; i < y; i++)
{
x_power_y *= x;
}
if (x_power_y < 999)
{
printf("the last three number of the x power y is %d ", x_power_y);
}
else
{
fun(x_power_y); //大于999,进入调用函数
}
}
void fun(int x_power_y)
{
int first = x_power_y % 10; //此时求得是最后一位上的数值
int second = (x_power_y % 100 - first * 1) / 10; //x_power_y % 100是最后两位上的数值
int thrid = (x_power_y % 1000 - second * 10 - first * 1) / 100;
printf("the last three number of the x power y is %d \n", thrid*100+second*10+first);
}
/*
总结;
在VC++6.0中显示的结果:
——————————————————
please int two number x and y :11 3
the last three number of the x power y is 331
——————————————————
*/