编程求一个整数任意次方后的最后三位数,即求 x ^ y (x的y次方)的最后三位数, x 和 y 的值由键盘输入
这是一个简单的算法,我对于这题的理解如下:
思想:
首先考虑,计算的结果是否越界
如何避免越界问题的同时又不使结果出现误差
所以,在求次方时,每乘一次,求余一次(就是取后三位数)
这样就不会出现越界问题,又可以完成题目的要求
代码如下:
#include<stdio.h>
int main()
{
int i, x, y, z = 1;
printf("请输入两个数,x和y(x^y ):\n");
scanf_s("%d%d", &x, &y);
for (i = 1;i <= y;i++) {
z =z * x % 1000; //计算一个数的任意次方后的三位
}
if (z >= 100) {
printf("%d^%d的最后三位是:%d\n", x, y, z);
}
else {
printf("%d^%d的最后三位是:0%d\n", x, y, z);
}
}
运行截图如下:
这是一个十分简单的算法题,难度就是初中水平。
后面我会继续写几个简单的算法题目,由浅入深,慢慢来。