注册 登录
编程论坛 C++教室

读入一个整数k(2

ciweijsf 发布于 2007-02-13 08:58, 530 次点击

#include<iostream.h>
#include<conio.h>
//---------------------------------------------------------------------------

int IsPrim(int);
#pragma argsused
int main(int argc, char* argv[])
{

int y=0;
cout<<"\n请输入一个2到10000之间的数:";
cin>>y;
for(int i=2;i<y;i++)
if( (!(y%i))&&(IsPrim(i)) )
cout<<" "<<i;
cout<<endl;

getch();
return 0;
}
//---------------------------------------------------------------------------

int IsPrim(int n)
{
int m=1;
for(int i=2;i<n;i++)
{
if(!(n%i))
m=0;
break;
}
return(m);
}
输入 2310
我输出的是 2 3 5 7 11 15 21 33 35 55 77 105 165 231 385 1155
各位高手能帮我看看.到底错在什么地方..为什么得不到真确答案..

3 回复
#2
踏魔狼2007-02-13 09:30



#include<iostream.h>
#include<conio.h>
//---------------------------------------------------------------------------


int IsPrim(int);
#pragma argsused
int main(int argc, char* argv[])
{

int y=0;
cout<<"\n请输入一个2到10000之间的数:";
cin>>y;
for(int i=2;i<y;i++)
if( IsPrim(i) ) /*(!(y%i))&&) 去掉这一块*/
cout<<" "<<i;
cout<<endl;

getch();
return 0;
}
//---------------------------------------------------------------------------
int IsPrim(int n)
{
int m=1;
for(int i=2;i<n;i++)
{
if(!(n%i))
{
m=0;
break;
}
}
return(m);
}

#3
ciweijsf2007-02-13 10:06

谢谢...原来错在那里了.HOHO

#4
lehmann2007-03-11 22:12

二楼的改的很对
不过怎么能得到质因子
if( IsPrim(i) ) /*(!(y%i))&&) 去掉这一块*/
还是该还原吧

1