acwing197. 阶乘分解

找n!中p为因数次数
打质数表
对于每个质数p
(向下取整)
代码:
#include <bits/stdc++.h>
using namespace std;

const int N=1e6+6;
int prime[N],mi[N],cnt,tmp,n,p;
bool st[N];

void mTable(int n){
	for(int i=2;i<=n;i++){
		if(!st[i]) prime[cnt++]=i;
		for(int j=0;prime[j]<=n/i;j++){
			st[i*prime[j]]=true;
			if(i%prime[j]==0) break;
		}
	}
}

int main(int argc, char** argv) {
	cin>>n;
	mTable(n);
	for(int i=0;i<cnt;i++){
		p=prime[i];
		tmp=n;
		while(tmp) mi[i]+=tmp/p, tmp/=p;
	}
	for(int i=0;i<cnt;i++){
		printf("%d %d\n",prime[i], mi[i]);
	}
	return 0;
}


全部评论

相关推荐

深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
头像
04-17 09:29
已编辑
湖南农业大学 后端
睡姿决定发型丫:本硕末9也是0offer,简历挂了挺多,只有淘天 美团 中兴给了面试机会,淘天二面挂,美团一面kpi面,中兴一面感觉也大概率kpi(虽然国企,但一面0技术纯聊天有点离谱吧)
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务