正题
题目链接:http://contest-hunter.org:83/contest/0x30%E3%80%8C%E6%95%B0%E5%AD%A6%E7%9F%A5%E8%AF%86%E3%80%8D%E4%BE%8B%E9%A2%98/3101%20%E9%98%B6%E4%B9%98%E5%88%86%E8%A7%A3
题目大意
质因数分解n!n!的阶乘。
解题思路
很简单的数学题,将1∼n1∼n全部质因数分解就好了。
code
#include<cstdio>
#define N 1000010
using namespace std;
int n,p[N];
int main()
{scanf("%d",&n);for(int i=2;i<=n;i++)//枚举1~n{int x=i;for(int j=2;j*j<=x;j++)//质因数分解while(x%j==0) {p[j]++;x/=j;}p[x]++;}for(int i=2;i<=n;i++)//输出if(p[i]) printf("%d %d\n",i,p[i]);
}