菜鸟求教用函数调用求素数!!

gwy371607275 2007-12-27 05:29:59
菜鸟求救高手
我怎么结果就是不行...哪里出问题了..
帮忙看看..

#include<iostream>
using namespace std;
int main()
{
int n(int);
int a;
cout<<"请输入你要判别是不是素数的数字:"<<endl;
cin>>a;
if(n(a)==2)cout<<"你输入的不是素数.";
else if(n(a)==1)cout<<"你输入的是素数.";
system("pause");
return 0;
}
int n(int x)
{
int i,n=1,k=0;
for (i=2;i<=x;i++)
{if(x/i==0)n++;}
if(n==2)
{k=1;return (k);}
if(n>2)
{k=2;return (k);}
}



...全文
218 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongguoren666 2007-12-28
  • 打赏
  • 举报
回复
一楼的哥们说的对.支持下.
一生有爱1980 2007-12-27
  • 打赏
  • 举报
回复
一楼说的对
hyram 2007-12-27
  • 打赏
  • 举报
回复
像1楼说的那样,把除号改成求余,测试了几个数,没有问题
yangbaobei 2007-12-27
  • 打赏
  • 举报
回复
1楼说的对啊.
if(x/i==0)n++;
改为:if(x%i==0)n++;就行了.

但是你的程序效率不高啊.
我觉得这样写你的函数好点!
int n(int x)
{
int i;
int n = sqrt(x);
for (i=2; i<=n; i++)
{
if(x%i==0)
{break;}
}
if(i > n)
{
return 1;
}
else
{
return 2;
}
}
gwy371607275 2007-12-27
  • 打赏
  • 举报
回复
怎么没人帮忙呀....
我再线等...急呀..!!
lori227 2007-12-27
  • 打赏
  • 举报
回复
应该是x%i吧!!

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧