大蚂蚁工作室吧 关注:745贴子:747
  • 3回复贴,共1

帮忙看下这个C++错在哪?判断一个数是不是素数?

只看楼主收藏回复

#include<iostream>
using namespace std;
int main()
{
int T,c,n;
cin>>T;
for(int i=0;i<T;i++)
{
cin>>n;
for(c=2;c<n;c++)
if(n%c==0)
break;
if(c==n)
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}


IP属地:浙江1楼2013-10-23 20:42回复
    提示什么错误?好吧,我没看出来,找大神吧,不过应该把2这个特殊情况写进去,还有一个简化方法,for循环里循环到n/2 就行


    IP属地:马来西亚来自Android客户端2楼2013-10-25 09:01
    回复
      #include<iostream>
      using namespace std;
      int main(void)
      {
      int x,i;
      cout<<"input x";
      cin>>x;
      if(x<=0)
      cout<<x<<"不是素数";
      for(i=2;i<=x/2;++i)
      {
      if(x%i==0)
      break;}
      if(i>x/2)
      cout<<x<<"是素数";
      else
      cout<<x<<"不是素数";
      return 0;
      }
      看看这样写的。。。


      3楼2013-11-28 21:41
      回复
        楼楼写的应该没问题啊,刚刚测试过了。。


        5楼2014-06-27 18:20
        回复