第6个点TLE,用线筛来改反而多了一个TLE,求助
查看原帖
第6个点TLE,用线筛来改反而多了一个TLE,求助
325404
Boar楼主2020/8/9 23:12
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const ull mod=1e9+7;
register ull a[1000001];
void f(ull x){
	ull i=2,p=sqrt(x);
	while(i<=p)
		if(x%i==0){
			a[i]++;
			x/=i;
		}
		else i++;
	a[x]++;
}
int main(){
	ull x,n,ans=1;
	cin>>n;
	memset(a,0,sizeof(ull)*n);
	for(ull i=1;i<=n;i++) f(i);
	for(ull i=2;i<=n;i++) if(a[i]) ans=((1+2*a[i])*ans)%mod;
	cout<<ans;
	return 0;
}
2020/8/9 23:12
加载中...