求整数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.