解题思路:质数通过欧拉筛打表判断,非质数利用递归不断分解到它为质数为止
注意事项:
参考代码
#include<stdio.h>
#include<string.h>
#define maxn 50000
int prime[maxn];
int visit[maxn];
void Prime(int n){
memset(visit,1,sizeof(visit));
memset(prime,0,sizeof(prime));
int i,j;
int count=0;
for(i=2;i<=n;i++){
if(visit[i]) prime[count++]=i;
for(j=0;j<count&&prime[j]*i<=n;j++){
visit[prime[j]*i]=0;
if(i%prime[j]==0) break;
}
}
}
void primefactor(int num){
if(visit[num]){
printf("%d\n",num);
return ;
}
int i;
for(i=2;i<num;i++){
if(num%i==0){
printf("%d*",i);
break;
}
}
primefactor(num/i);
}
int main(){
int a,b,i,j;
scanf("%d%d",&a,&b);
Prime(b);
for(i=a;i<=b;i++){
printf("%d=",i);
primefactor(i);
}
return 0;
}
:
0.0分
0 人评分
C语言训练-最大数问题 (C语言代码)浏览:633 |
A+B for Input-Output Practice (C++代码)浏览:609 |
回文串 (C语言代码)浏览:2860 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:605 |
【排队买票】 (C语言代码)浏览:900 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
出圈】指针malloc版浏览:355 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:521 |
C二级辅导-等差数列 (C语言代码)浏览:771 |