温州模板建站公司,海南 网站制作,网站建设及发布的流程图,什么网站可以找人做设计题意#xff1a;
对于长度为n的数组a#xff0c;从第一位开始如果可以整除x#xff0c;就将x个a/x的结果加到数组最后#xff0c;然后对下一位进行一样的操作#xff0c;直到第x位不可以整除x#xff0c;到此结束#xff0c;然后计算此时数组的总和
题解#xff1a; …题意
对于长度为n的数组a从第一位开始如果可以整除x就将x个a/x的结果加到数组最后然后对下一位进行一样的操作直到第x位不可以整除x到此结束然后计算此时数组的总和
题解
最直接的方法就是按照题意模拟即可 然后稍微优化优化就行不优化好像问题也不大
代码
#include bits/stdc.h
using namespace std;
#define qc std::ios::sync_with_stdio(0);
int a[100001];
int b[100001];int main() {qc;cin.tie(0);int t;cin t;while (t--) {int n, k;long long ans 0;cin n k;for (int i 0; i n; i) {cin a[i];b[i] 1;ans a[i];}int flag 0;while (1) {for (int i 0; i n; i) {if (a[i] % k ! 0) {flag 1;break;} else {a[i] a[i] / k;b[i] b[i] * k;ans b[i] * a[i];}}if (flag 1)break;}cout ans endl;}
}