龙空技术网

分别用最流行的留言 JAVA PYTHON C来求1-N之间的质数(素数)

程序员的资讯吧 171

前言:

当前看官们对“素数的算法c语言”大约比较注意,兄弟们都想要学习一些“素数的算法c语言”的相关内容。那么小编在网摘上网罗了一些对于“素数的算法c语言””的相关资讯,希望我们能喜欢,同学们一起来学习一下吧!

首先来普及下什么是质数(素数)

质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。

根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。

脚本代码如下python代码

import timea = 0;start=time.time()for i in range(2,500+1): for q in range(2,i): if(i%q==0): a=a+1; break; if(a==0): print("%d是质数."%i); a=0; else: a=0; t=(time.time()-start)print(t)
JAVA脚本
import java.text.SimpleDateFormat;public class prime_number {	public static void main(String[] args) {		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 		String time1 = df.format(System.currentTimeMillis()); 		int i,q,a;		a=0;		for(i=2;i<=500;i++){			for(q=2;q<i;q++){				if(i%q==0){					a=a+1;					break;										}				};			if(a==0){				//System.out.println("179400121 chenwei :"+i);				System.out.println("它是质数:"+i);				a=0;			}			else{a=0;}					}	SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 	String time2 = df1.format(System.currentTimeMillis()); 	System.out.println(time1+" - "+time2);}}
C代码
#include <stdio.h>main(void){ int i,t; for(i=1; i<=500; i++) { if(i == 1){ continue;} if(i == 2) { printf("%d,",i); continue; } for(t=2; t <= i/2; t++) { if((i%t) == 0){ break;}} if(t > i/2){ printf("我是质数%d,",i); } } printf("\n"); return 0;} 
部分效果图结束语

有什么不对,或者疑问,有或者问题,都可以提问我们,大家相互学习,共同进步。

标签: #素数的算法c语言 #python求约数 #java判断一个数是否为质数 #java求因数 #python求约数的方法