[问题已解决]将一个正整数分解质因数的算法(我是初学者)?
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
小弟出来乍到,请各位大虾帮帮小弟~!
由于我学的还很少,所以请各位高手不要使用stdio.h以外的头文件,谢谢~!
[此贴子已经被作者于2006-7-20 16:05:42编辑过]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{
int n,i=2,flag=1;
scanf("%d",&n);
printf("%d=",n);
while(n!=1)
{
while(n%i==0)/*从2开始整除*/
{
if(flag==1)
printf("%d",i);
else
{
printf("*%d",i);
flag=0;
}
n=n/i;
}
i++;
}
printf("\n");
return(0);
}
/*楼主测试一下,我没有编译器,不好意思*/
----------------解决方案--------------------------------------------------------
/*这个会好点*/
#include<stdio.h>
int main()
{
int n,i=2;
scanf("%d",&n);
printf("%d=",n);
while(n!=1)
{
while(n%i==0)/*从2开始整除*/
{
if(n/i!=1)
printf("%d*",i);
else
printf("%d",i);
n=n/i;
}
i++;
}
printf("\n");
return(0);
}
----------------解决方案--------------------------------------------------------
nuciewth真是好人,我以后有作业也请你帮我做!嘻!!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
int dev(int num,int i)
{
num%i?(dev(num,i+1)):(num/i==1?(printf("%d",i),getch()):(printf("%d*",i),dev(num/i,i)));
}
int main()
{
dev(100,2);
}
将100分解质因数.
----------------解决方案--------------------------------------------------------
以下是引用lxs5216在2006-7-20 11:29:27的发言:
nuciewth真是好人,我以后有作业也请你帮我做!嘻!!
nuciewth真是好人,我以后有作业也请你帮我做!嘻!!
楼主好意思说出来。以后作业要自己想,想不出来,再说!
刚学当然要多看书了。
很有负罪感。
----------------解决方案--------------------------------------------------------
以下是引用nuciewth在2006-7-20 14:19:20的发言:
楼主好意思说出来。以后作业要自己想,想不出来,再说!
刚学当然要多看书了。
很有负罪感。
老兄,lxs5216不是楼主哦。如果是,他说那话,我就把他的帖子打到18层地狱去了,我最讨厌的就是帮人做作业了.
----------------解决方案--------------------------------------------------------
不好意思,看错了。
----------------解决方案--------------------------------------------------------
谢谢各位大虾~!
我测试过了,nuciewth写的中间有那个*,呵呵
前面那个也没有错误
----------------解决方案--------------------------------------------------------
第一个格式是有问题。输不出*,对吧。
我改的第二个应该可以吧!
呵呵
楼主再试试。
----------------解决方案--------------------------------------------------------