编程论坛
注册
登录
编程论坛
→
C++教室
小朋友求帮助~~!
fengao
发布于 2012-11-15 21:32, 336 次点击
编写一个判断一个数是否为素数的函数int IsPrime(int n),并在主函数中调用它,以实现输出10000以内的所有素数,每行输出10个素数,输出宽度为5,右对齐。
唉,又碰到了完全没思路的题......大神们帮帮小弟吧..
3 回复
#2
w527705090
2012-11-15 21:45
不会吧。。。不是完全没思路,是完全没动脑筋吧。。。。
#3
额外覆盖
2012-11-15 21:54
若原数为n,设一个数a=(int)sqrt(n),另设一个变量i,for(i=2;i<=a;i++),即a依次除以i取余,如果a%i==0,则n不为素数,否则n为素数。至于n小于10000设置一下n的范围就可以了,调用函数只要将那一段提出另设一个函数就可以了。右对齐用setiosflags(ios::right),宽度用setw()(括号内为你需要的宽度),不过要加头文件iomanip。最后,提问要给分啊,我是看大家同为新手才帮一下罢了,如果有不对的地方见谅啊!
#4
mmmmmmmmmmmm
2012-11-16 10:24
供楼主参考哈
程序代码:
#include
<iostream>
#include
<iomanip>
using
namespace
std;
int
IsPrime(
int
n);
//
声明
int
main(
void
)
{
IsPrime(
10000
);
return
0
;
}
int
IsPrime(
int
n)
{
int
count=
0
;
for
(
int
i=
2
; i<=n; i++)
{
int
m=i/
2
;
for
(
int
j=
2
; j<=m; j++)
{
if
(i%j ==
0
)
continue
;
}
cout
.setf(ios::right);
//
右对齐
cout
<<setw(
5
)<<i;
//
宽度为5
count++;
if
(count ==
10
)
//
每行输出10个
{
count=
0
;
cout
<<endl;
}
}
return
0
;
}
1