题目描述:输入正整数n(2<=n<=100),把阶乘n!=1x2x3x...xn分解成素因子相乘的形式,从小到大输出各个素数(2、3/5.....)的指数。你的程序应忽略比最大素因子更大的素数(否则末尾会有无穷对个0)。
样例输入:
5
53
样例输出:
5!=3 1 1
53!=49 23 12 8 4 4 3 2 2 1 1 1 1 1 1 1
代码如下:
#include<stdio.h>
#include<string.h>
int prime[100],count=0;//用于维持一张素数表
int is_prime(int n){
for(int i=2;i<n;i++){
if(n%i==0) return 0;}//不是素数
return 1;
}
int main(){//注意算法竞赛题必须有返回值
int n,p[100];//用于记录因子