题目描述
求1992个1992的乘积的末两位数是多少?
输入
无
输出
输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
参考代码:
1992 个 1992 相乘,其结果一定非常非常大,long long 也存储不了的数据,所以要找规律;
求末两位:俩数相乘,其结果的末两位,仅跟乘数和被乘数的末两位相关。
#include <iostream>
using namespace std;
int main() {
int num = 1;
for (int i = 1; i <=1992; i++)
num = (num * (1992 % 100))%100;
cout << num;
return 0;
}
网上还有一种优化后的算法:
#include <iostream>
using namespace std;
int main() {
int num = 1;
for (int i = 1; i <=1992; i++)
num = (num * 1992) % 100;
cout << "末两位数是:" << num << endl;
return 0;
}