当前位置: 代码迷 >> C语言 >> [求助]如何分解质因数?
  详细解决方案

[求助]如何分解质因数?

热度:415   发布时间:2007-09-08 19:30:45.0
[求助]如何分解质因数?
将一个正整数分解质因数.例如:输入90 打印出90=2*3*3*5.
要求用while循环做 而且 打印出来的要和上面的一样 90=2*3*3*5.

[此贴子已经被作者于2007-9-9 14:45:18编辑过]

搜索更多相关的解决方案: 质因数  打印  整数  输入  

----------------解决方案--------------------------------------------------------
建立质数表,不断的 %质数,如果为0,则原数/质数继续%,直到原数为1
----------------解决方案--------------------------------------------------------
#include<iostream.h>
int f(int i)//计算比大一的数是不是质数
{
int j1=i+1,j2=0;
for(j2=2;j2<j1;j2++)
{
if(!(j1%j2))
return 0;
}

return j1
}
int f1(int i)计算i之上最近的质数
{int j=i;
while(!(f(j)))
{
j++;
}
return f(j);
}
void main()
{
int n1;
cin>>n1;
int n2=2;
double flog=n1/n2;
cout<<"\n"<<n1<<"=";
while(flog!=1)
{
if(n1==n2)
break;
if(n1%n2)
n1=n1;
else
{
n1=n1%n2;
cout<<n2<<"+";
}
n2=f1(n2);

}
cout<<n2<<endl;
}
----------------解决方案--------------------------------------------------------
楼主,偶给你一篇文章,关于怎么构思程序的,要是喜欢就看看吧
http://yzfy.org/bbs/viewthread.php?tid=294





by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------
  相关解决方案