0
点赞
收藏
分享

微信扫一扫

蓝桥杯基础练习-分解质因数【c语言解答】

纽二 2022-03-11 阅读 47

蓝桥杯基础练习-分解质因数

#include<stdio.h>
int fun(int n){                    //判断是否为素数;是就输出,不是返回1; 
    int i,temp;
    int ans=0;
    temp=n;
    for(i=2;i<=n/2;i++)
        if(n%i==0)
          ans=1;
    if(ans==0)
        printf("%d=%d\n",temp,temp);
       return ans;
}
void fun1(int n){           //非素数的因数分解; 
    int num[100];int i,j,temp;
    int k=0,ans=1,sum=1;
    temp=n;
        for(i=2;i<=n;i++){
            if(n%i==0){
                num[k]=i;
                sum*=i;
                n=temp/sum;
                if(n==1)
                break;
                i=1;
                k++;
            }         
        }
    printf("%d=",temp);
    for(i=0;i<=k;i++){
        printf("%d",num[i]);
        if(i<k) printf("*");
    }
    printf("\n");
}
int main(){
    int  a,b,i;
    scanf("%d %d",&a,&b);
    for(i=a;i<=b;i++)
       if(fun(i))
          fun1(i);
          return 0;
}       

举报

相关推荐

0 条评论