c++程序设计:输入一数组,如何输出数组中的素数

c++程序设计:输入一数组,如何输出数组中的素数,第1张

#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语言程序设计中关于素数的函数定义没看懂等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10102090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存