判断一个数是否是素数

1)输入一个数,判断该数是否是素数

 1 //素数是指只能被1和其自身整除的自然数(1除外)如2 3 5 7 11...
 2 //输入一个大于1的自然数,判断该数是否为素数,如果是,输出“yes”,不是,输出“no”
 3 
 4 void main()
 5 {
 6     int n,i,flag=1; //用flag标记n是否是素数,如果不加flag,将会输出许多个yes或no
 7     cout<<"please input n:";
 8     cin>>n;
 9     for(i=2;i<=n-1;i++)
10     {
11         if(n%i==0) flag=0;
12     }
13     if(flag==1)
14         cout<<n<<"是素数。"<<endl;
15     else 
16         cout<<n<<"不是素数。"<<endl;
17     system("pause");
18 }

2)输入一个正整数,计算从1到该数之间总共有多少个素数,并打印出来

 1 void main()
 2 {
 3     int n,i,j,k=1,a[200]={2,0}; 
 4     //用a[200]来存储符合条件的素数,注意根据输入的数的大小来给数组分配适合大小的空间,用2来初始化a[0]
 5     cout<<"请输入一个正整数:";
 6     cin>>n;
 7     for(i=3;i<=n;i++)
 8     {
 9         for(j=2;j<=i;j++)
10         {
11             if(j==i)
12             {
13                 a[k++]=i;
14             }
15             if(i%j==0)
16             {
17                 break;//跳出第二个循环
18               
19             }
20         }
21     }
22     printf("1-%d之内的素数有:\n",n);
23     for(i=0;i<k;i++)
24     {
25         cout<<a[i]<<"    ";
26         if((i+1)%5==0)
27         {
28             cout<<endl;
29         }
30     }
31     system("pause");
32 }

原文地址:https://www.cnblogs.com/dongyanxia1000/p/4904587.html