acm-因子和阶乘

来源:互联网 发布:淘宝达人认证申请理由 编辑:程序博客网 时间:2024/06/05 18:40
#include<iostream>#include<malloc.h>#include<string.h>using namespace std;#define MAXN 101int *a,b[MAXN];int* isprame(int n){int u[MAXN],su[MAXN];int i,j,num=1;memset(u,true,sizeof(u));u[1]=false;for(int i=2;i<=n;i++){if(u[i]) su[num++]=i;for(int j=1;j<num;j++){if(i*su[j]>n) break;u[i*su[j]]=false;if(i%su[j]==0) break;}}return u;}int main(){int n;a=(int*)malloc(sizeof(int)*MAXN);while(cin>>n){memset(b,0,sizeof(b));a=isprame(n);for(int i=2;i<=n;i++){int m=i;for(int j=2;j<=m;j++){if(a[j]&&m%j==0) {b[j]++;m=m/j;j--;}}}for(int i=1;i<=n;i++)if(b[i]) cout<<b[i]<<" ";cout<<endl;}return 0;}

0 0
原创粉丝点击