十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
int n = 7; //输入的自然数
成都创新互联公司专业为企业提供明溪网站建设、明溪做网站、明溪网站设计、明溪网站制作等企业网站建设、网页设计与制作、明溪企业网站模板建站服务,十余年明溪做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
int k = 0; //输出的状态控制 初始化为0
for (int i = 2; i n; i++) { //循环判断
if (n%i == 0) { // 判断是不是因子
System.out.println(n + "不是素数"); //输出不是素数
k = 1; //控制置1
break; //只要有一个因子就不用继续循环判断了,跳出循环
}
}
if (k == 0) { //状态为0则输出为素数
System.out.println(n + "是素数");
}
import java.io.*;
class prime{
private int num;
static boolean isprime(int num){
if(num=1) return false;
int i;
for(i=2;i=num/2;i++)
if(num%i==0) return false;
return true;
}
}
class Main {
public static void main (String[] args)
throws IOException{
int num=0;
String data;
BufferedReader br = new
BufferedReader(new
InputStreamReader(System.in));
System.out.print( "请输入一个整数:" );
data=br.readLine ();
try{
num = Integer.parseInt (data);
}
catch(NumberFormatException e){}
if(prime.isprime (num)){
System.out.println ( num+"是素数!" );
}
else
System.out.println ( num+"不是素数!" );
}
}
祝君好运啊
使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:
Scanner sr = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = sr.nextInt();
boolean is = true;
if (a 1)
{
System.out.println(a + "不是质数,因为他小于一");
}
else
{
ListInteger list = new ArrayListInteger();
for (int i = 2; i a; i++)
{
if (a % i != 1 a % i != a)
{
if (a % i == 0){
is=false;
list.add(i);
}
}
}
if(is){
System.out.println("a是质数");
}else{
String yz="";
for (int i = 0; i list.size(); i++)
{
if (yz=="")
{
yz=yz+list.get(i);
}else{
yz=yz+","+list.get(i);
}
}
System.out.println("a不是质数,因为他含有因子"+yz);
}
}
下面是我用JavaScript写的素数函数,供参考,大同小异
PrimeA=function(n,nth){/* 小于n的素数表
参数nth 指定返回第n个素数
*/
//var t0=Time.now5();
/*
方法1:利用isPrime 废弃!
var t=[];
for(var i=2;in+1;i++){
if(isPrime(i)){
t.push(i)
}
}
consolelog('方法1:耗时:'+(+Time.now5()-(+t0)));
return t
*/
//方法2:利用筛法
var p=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59];//自己往后补充,越多越好,可以加快检测小素数的效率
if(nth n=669){
return p[n-1]
}
if(!nth n2){
return []
}
if(n=5000 !nth){
for(var i=0;i100;i++){
var j=p.indexOf(n-i);
if(j-1){return p.slice(0,j+1)};
}
return p
}
var m=nth?Math.ceil(n*Math.log(n)+1000):n; //pn ∼ nln(n)
// for(var i=5001;i=m;i+=2){
var i=5001;
while(i){
var t=Math.floor(Math.sqrt(i)), pl=p.length;
for(var j=0;jpl;j++){//p.length
if(i%p[j] == 0){
break
}else if(p[j+1]t){
p.push(i);
if(nth pl==n-1){
return i
}
break;
}
}
if(!nth i=n-1){
return p
}
i+=2;
}
return p
//方法3:Wilson测试
}