在C ++中查找数组编号的乘积的最后k位
假设我们有一个由n个元素组成的数组,称为A。我们还有另一个数字k。我们的任务是查找数组A中元素乘积的最后k位。假设A=[15、22、13、19、17],则乘积为1385670,最后k=3位为670。
为了解决这个问题,我们将模10k下的数字相乘。
示例
#include<iostream>
#include<cmath>
using namespace std;
int displayLastKNumbers(int array[], int n, int k) {
int mod = (int)pow(10, k);
int mul = array[0] % mod;
for (int i = 1; i < n; i++) {
array[i] = array[i] % mod;
mul = (array[i] * mul) % mod;
}
return mul;
}
int main() {
int a[] = {15, 22, 13, 19, 17};
int k = 3;
int n = sizeof(a) / sizeof(a[0]);
cout <<"Last K digits are: " << displayLastKNumbers(a, n, k);
}输出结果
Last K digits are: 670
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短