#include<iostream>
using namespace std;
int ss(int m){
int i,f=1;
for(i=2;i<m;i++)
if(m%i==0) f=0;
return f;
}
int main(){
int a[100];
int n;
cout<<"请输入n的值:\n";
cin>>n;
for(int i=0;i<n;i++){
a[i]=i;
}
cout<<"输出所有的素数"<<endl;
for(int i=2;i<n;i++){
if(ss(a[i])) cout<<a[i]<<" ";
}
cout<<endl;
system("pause");
}
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数
例如: 2,3,5,7 等都是素数
为了方便测试我将使用javascript代码实现
<script>
var primenumbers = []; //定义一个数组用来存放找到的素数素数
for(i=2;i<=300;i++){
var yes = true; //默认素数被找到
for(j=2;j<i;j++){
if( i%j == 0 ) { //如果i能被其他自然数整除则不是素数
yes = false;
break;
}
}
if( yes ) primenumberspush( i ); //如果i是素数则将i放入素数数组
}
alert( "2-300的素数有:" + primenumbers );
alert( "2-300的素数数量:" + primenumberslength );
</script>
这个函数写错了,if(i>k)永远不会运行到,也就是说为素数的时候返回的是个随机数,应该是
int prime(unsigned int x) {
int i,k;
k=sqrt(x);
for(i=2; i<=k; i++) {
if(x%i==0) return 0;
}
return 1;
}
以下是求出100-200之间的所有素数的VB程序设计:
Public Function IsPrime(ByVal num As Integer) As Boolean
' 判断一个整数是否为素数
If num < 2 Then
IsPrime = False
ElseIf num = 2 Then
IsPrime = True
ElseIf num Mod 2 = 0 Then
IsPrime = False
Else
Dim i As Integer
For i = 3 To MathSqrt(num) Step 2
If num Mod i = 0 Then
IsPrime = False
Exit Function
End If
Next i
IsPrime = True
End If
End Function
Private Sub btnGetPrimes_Click(sender As Object, e As EventArgs) Handles btnGetPrimesClick
' 找出100-200之间的所有素数
Dim i As Integer
For i = 100 To 200
If IsPrime(i) Then
lstPrimesItemsAdd(i)
End If
Next i
End Sub
上述程序中,IsPrime函数用于判断一个整数是否为素数,btnGetPrimes_Click事件处理程序用于找出100-200之间的所有素数并将其显示在lstPrimes控件中。该程序使用了基本的素数判定方法,即从3到该数的平方根范围内枚举可能的因子,如果能整除则该数不是素数。
#include<iostream>
using namespace std;
int main()
{
int j;
for(int i=2;i<100;i++) //第一循环是从2-100个数
{
for(j=2;j<=i/2;j++) //第二个循环是判断i的值是不是素数
{
if(i%j==0) //如果被整除 那么就不是素数跳出
break;
}
if(j>i/2) //判断上面循环是否正常结束
cout<<i<<" "; //如果上面循环正常结束 则i是素数 输出
}
cout<<endl;
}
#include <stdioh>
int main()
{
int a=0;
int num=0;
int i;
printf("输入一个整数:");
scanf("%d",&num);
for(i=2;i<num;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("%d是素数。\n", num);
}else{
printf("%d不是素数。\n", num);
}
return 0;
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
基本算法:若 k%m==0 则说明 k 不是素数。
判断整数n是否为素数——采用枚举法求解。
采用枚举算法解题的基本思路:
(1)确定枚举对象、枚举范围和判定条件;
(2)枚举可能的解,验证是否是问题的解。
枚举算法的一般结构:while循环。
参考资料来源:百度百科-枚举法
以上就是关于c++程序设计:输入一数组,如何输出数组中的素数全部的内容,包括:c++程序设计:输入一数组,如何输出数组中的素数、程序设计求 2-300之间的所有素数 并统计其个数、C语言程序设计中关于素数的函数定义没看懂等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)