记录编号 581754 评测结果 AAAAA
题目名称 阶乘分解 最终得分 100
用户昵称 Gravatar┭┮﹏┭┮ 是否通过 通过
代码语言 C++ 运行时间 0.023 s
提交时间 2023-08-12 16:21:34 内存使用 4.20 MiB
显示代码纯文本
#include <bits/stdc++.h> 
using namespace std;
typedef long long ll;
const int N = 1e6+100;
ll n;
ll tot,prim[N],v[N],ans;
void prim_(){
	for(ll i = 2;i <= n;i++){
		if(!v[i])prim[++tot] = i;
		for(ll j = 1;j <= tot && i * prim[j] <= n;j++){
			v[i*prim[j]] = 1;
			if(i % prim[j] == 0)break;
		}
	}
}
int main(){
	freopen("factoriala.in","r",stdin);
	freopen("factoriala.out","w",stdout);
	scanf("%lld",&n);
	prim_();
	for(ll i = 1;i <= tot;i++){
		ll x = prim[i];ans = 0;
		for(ll j = x;j <= n;j *= x){
			ans += n / j;
		}
		printf("%lld %lld\n",x,ans);
	}
	
	return 0;
	
}