C语言求整数包含因子k的个数

求整数num中包含因子k的个数,如果没有该因子则返回0,例如:32=2×2×2×2×2,则factors(32,2)=5。要求输入输出均在主函数中完成。

#include <stdio.h>
#include <stdlib.h>

int factors(int,int);

int main()

{
    
     int n,num,k;

    printf("请输入一个整数,以及要求的因数:");

    scanf("%d %d",&num,&k);

     n = factors(num,k);

    printf("%d 中含有 %d 个因素 %d.",num,n,k);

}

int factors(int num,int k)

{
    
    
    int n=0;
    while(num%k==0) //若能被整除,代表还有k因子
    {
    
    
        n=n+1;
        num=num/k;
    }


    return n;

}

请输入一个整数,以及要求的因数:32 2
32 中含有 5 个因素 2.

猜你喜欢

转载自blog.csdn.net/weixin_42145554/article/details/127842918