约数之和
Description
请计算 \(n\) 个正整数中,可以作为 \(m\) 的约数的所有数的和。
Format
Input
第一行输入一个正整数
\(n(0<n≤10^5)\),以及 \(n\) 个不大于 \(10^5\) 的正整数;
第二行输入一个正整数 \(m(1≤m<2^{31})\)。
Output
输出这 \(n\) 个数中所有 \(m\) 的约数之和。
#include<iostream>
using namespace std;
const int N=1e5+100;
int a[N];
int main() {
int n,m;
long long ct=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",a+i);
}
scanf("%d",&m);
for(int i=1;i<=n;i++){
if(m%a[i]==0){
ct+=a[i];
}
}
printf("%lld",ct);
return 0;
}