发布网友 发布时间:2024-10-23 16:39
共3个回答
热心网友 时间:2024-11-13 23:14
#include<iostream>
using namespace std;
int main()
{
int a;
int d=0;
cout<<"请输入数字"<<endl;
cin>>a;
for(int c=2;c<=a/2;++c) //改为小于等于a/2,取消了b
{
if(a%c==0) //这里用%是求余
{
d=c; //如果可被某数整除,将该数赋值给d
cout<<d<<" ";//输出d
}
}
if(d==0)
{
cout<<"该数为质数"<<endl;
}
return 0;
}
可以吗
热心网友 时间:2024-11-13 23:12
for(int c=2;c>b;++c)
应是for(int c=2;c<=b;++c)
热心网友 时间:2024-11-13 23:16
只输出了c而没有输出a/c,即sqrt(a)到a的那部分,而且循环到sqrt(a)即可.