约数个数 -2025/11/8

约数个数

#include<bits/stdc++.h>
using namespace std;

const int N = 110, mod = 1e9 + 7;

unordered_map<int ,int > mp;

int main(){
	int n;
	cin >> n;
	while(n --){
		int t;
		cin >> t;
		for(int i = 2; i <= t / i; i++){
			if(t % i == 0){
				int s = 0;
				while(t % i == 0) t /= i, s ++;
				mp[i] += s;
			}
		}
		if(t > 1) mp[t]++;
	}    
	
	long long res = 1;
	
	for(auto u:mp) res = (res * (u.second + 1) )% mod; 
	
	cout << res << "\n";
	return 0;
}
posted @ 2025-11-12 15:39  XYu1230  阅读(5)  评论(0)    收藏  举报