约数之和

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;
}
posted @ 2025-02-06 21:31  Frank_TMQ  阅读(16)  评论(0)    收藏  举报