这么个小东西哪要画图辅助分析。
昨天中午看到帖子,感觉就是个递归因数分解的题,类似于找零钱组合,下午打麻将,晚饭后被老婆替下,玩游戏、看论坛,看到你回帖,就边玩游戏边构思,9:30开写,再花10分钟调试成功,估计带构思一起不到一小时吧。
昨天中午看到帖子,感觉就是个递归因数分解的题,类似于找零钱组合,下午打麻将,晚饭后被老婆替下,玩游戏、看论坛,看到你回帖,就边玩游戏边构思,9:30开写,再花10分钟调试成功,估计带构思一起不到一小时吧。
程序代码:#include <stdio.h>
void ff(int a[],int n,int p)
{ //递归显示所有因数分解算式
int i;
i=p>0?1:0; //第一次显示因数1
for(;i<p;i++)printf("%d * ",a[i]);
printf("%d * %d\n",a[i],n); //显示算式
if(a[p]*a[p]>n)return;
for(i=p>0?a[p]:2;i*i<=n;i++)
{
if(!(n%i))
{
a[++p]=i; //存储因数
ff(a,n/i,p); //递归调用
p--; //回溯,剪枝
}
}
}
void main()
{
int n,a[100];
scanf("%d",&n);
a[0]=1;
ff(a,n,0);
}