C语言正整数分解质因数
程序员文章站
2024-03-22 18:51:28
...
将一个正整数分解质因数。例如:输入90,打印出90=2335。
输入格式要求:"%d" 提示信息:"\nplease input a number:\n"
输出格式要求:"%d=" "%d" “%d”
程序运行示例如下:
please input a number:
90
90=233*5
#include<stdio.h>
int hello(int n);
int main()
{
int n;
printf("\nplease input a number:\n");
scanf_s("%d", &n);
printf("%d=",n);
printf("%d", hello(n)); //此处是输出调用函数到最后时返回的值,即那个不能被整除的数
}
int hello(int n)
{
int i;
for (i = 2; i < n; i++)
{
if (n % i == 0) //被4(合数)整除的一定能被2(质数)整除
{
printf("%d*",i);
return hello(n/i); //采用递归的思想,不断求解因数
}
}
return n; //返回最后的那个不能被整除的因数
}