判断一个数是否是素数

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 }

时间: 2024-08-22 06:29:41

判断一个数是否是素数的相关文章

c语言实现判断一个数是否是素数

就是判断一个数是否是素数,网上很多版本,我觉得都有点问题,今天一个朋友问我这个问题,我才知道,现在我就贴出自己的代码,很有用哦!! #include<stdio.h> #include<math.h> int Prime(unsigned int a) { unsigned int i; int k=0; if (a==1) k=1; else for(i=2;i<sqrt(a);i++) if(a%i==0) { k=1; break; } return k; } int

C语言之函数调用09—判断一个数是否为素数

//函数调用 /* ========================================================== 题目:判断一个数是否为素数.如3是素数,4不是素数. ========================================================== */ #include<stdio.h> #include<stdlib.h> int sushu(int n) { int i,k; k=n/2;//控制结束位置! for(

java判断一个数是否为素数[转]

http://blog.csdn.net/lwcumt/article/details/8027586 import java.util.Scanner; //质数又称素数,是指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数 public class PrimeNumber { public static void main(String[] args) { Scanner scan = new Scanner(System.in);// 扫描器,接收控制台输入信息 Sy

C:冒泡排序&amp;判断一个数是否为素数&amp;求平方根的迭代公式

冒泡排序 #include<stdio.h> int main () { int i,j,n,temp,a[10]; scanf("%d",&n); printf("The original numbers:\n"); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n-1;i++) for(j=1;j<n-1;j++) if(a[j-1]>a[j])

模板:判断一个数是否是素数

素数是除了1和它本身这两个数之外再没有可以整除的除数,为减少时间复杂度,可以只对2~√x 之间的数除x就可以判断是否为素数. 代码 1 bool prime(int x) { 2 for (int i = 2; i <= sqrt(x); i++) { 3 if (x % i == 0) 4 return false; 5 } 6 return true; 7 } 原文地址:https://www.cnblogs.com/moujun1001/p/9476392.html

python初学者-判断一个数是否为素数

while True: #判断为真 num = int(input('请输入一个数:')) for i in range(2,num):#判断在num之前的数能不能把num整除 if(num%i == 0): #如果能被整出执行下面语句不能整除执行else print('%d不为素数'%num) break #如果是素数跳出while循环 else: print('%d为素数'%num) break #如果不是素数跳出while循环 break 原文地址:https://www.cnblogs.

【算法与数据结构】判断一个数是否是素数

题目: 判定一个数m是否是素数. 定义: 素数,就是质数,我们简单看一看百度给的定义就行,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数. 思想: 2 ~ m-1 之间有无整数整除m即可. 简化: 2 ~ 根号m 之间有无整数整除m即可. [代码] 1 public class Main { 2 public static boolean isPrime(int n) { 3 if (n < 2) { 4 return false; 5 } 6 for (int

C语言判断一个数是否是素数

素数又称质数.所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除. 思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数. 思路2):另外判断方法还可以简化.m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~  之间的每一个整数去除就可以了.如果m不能被 2 ~ 间任一整数整除,m必定是素数.例如判别17是是否为素数,只需使17被2~4之间的每一个整数去

[algs_easy] 判断一个数是否是素数

素数的定义:大于1且无真因子的数 int isPrime(int n) { if(n <= 1) return 0; for(int m = 2; m * m <= n; m++) if(n % m == 0) return 0; // not a prime return 1; } 请思考 为什么在 m * m > n 时就可以不去考虑? 原文地址:https://www.cnblogs.com/crazyRanZhang/p/8977998.html