c语言程序(三十六)——求质因数

//求一个正整数的质因数。例如输入90,打印出90=2*3*3*5
//
#include<stdio.h>
int yinshu(int m);

int a[20];
int n=0;

int main() {
    int m;
    int n;
    int i=0;
    
    printf("输入一个数\n");
    scanf("%d",&m);
    
    n=yinshu(m);
    while (a[i]!=0) {
        printf("%d",a[i]);
        i++;
    }
    printf("\n");
    return 0;
}

int yinshu(int m){

    int i;
    for (i=2; i<=m; i++) {
        if (m%i==0) {
            if (m==i) {
                printf("%d\t",i);
                a[n]=i;
                n=n+1;
                return i;
            }
            else
                printf("%d\t",i);
                a[n]=i;
                n=n+1;
                return yinshu(m/i);
        }
    }
    return 0;
}

版权声明:本文为weixin_42326230原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。