1 条题解
-
13335668689 LV 2 @ 2018-09-24 14:41:00
#include <bits/stdc++.h> #define ll long long const int maxn=100005; const int mod=998244353; int pri[maxn]; ll cnt[maxn]; int tot=0; int n; long long ans=1; bool judge(int tmp){//质数 for(int j=2;j*j<=tmp;j++){ if(tmp%j==0) return false; } return true; } void prime(){//个数 for(int i=2;i<=n;i++){ if(judge(i)) pri[++tot]=i; } return; } void ca_cnt(){ for(int i=1;i<=tot;i++){ for(int j=pri[i];j<=n;j*=pri[i]){ cnt[i]=cnt[i]+(n/j)%mod; } } } int main(){ //freopen("math.in","r",stdin); //freopen("math.out","w",stdin); scanf("%d",&n); if(n==1){ printf("1"); return 0; } prime(); ca_cnt(); for(int i=1;i<=tot;i++){ ans=ans%mod*(cnt[i]+1)%mod; } ans=(ans+mod)%mod; printf("%lld",ans); //fclose(stdin); //fclose(stdout); return 0; }
- 1
信息
- 难度
- 7
- 分类
- (无)
- 标签
- (无)
- 递交数
- 19
- 已通过
- 6
- 通过率
- 32%
- 上传者