您的位置:首页 > 编程语言

第二次编程作业:判断一个正整数是否为质数的算法和 随机生成一个n bit位的长整数

2014-03-20 21:25 555 查看
2.1: 判断一个正整数是否为质数的算法。函数签名如下

int isPrime(long a)

输入:一个长整数a

输出:返回1(为质数),返回0(非质数)
import java.util.Scanner;

public class Prime {
public static void main (String [] args){
Prime pri=new Prime();
Scanner scan=new Scanner(System.in);
System.out.println("imput a number:");
long a=scan.nextLong();
System.out.println("如果输入的数是一个质数,则返回1,否则返回0");
System.out.println(pri.isPrime(a));
}
public int isPrime(long a){
if(a==1)
return 0;
else if(a==2)
return 1;
for(int i=2;i<Math.sqrt(a);i++){
if(a%2==0)
return 0;
}
return 1;
}

}



2.2: 随机生成一个n bit位的长整数。函数签名如下

long createRndInteger(int n)

输入:随机数bit位的长度为n(解释:3bit位,则最大为111,最小为100;n bit位,则该数字二进制长度为n)

输出:返回该随机数
import java.util.Scanner;

public class Random {
private static long createRanInteger(int n){
double a=Math.random();
double max=Math.pow(2, n)-1;
double min=Math.pow(2, n-1);
long intvalues=(long)(a*max+min);
return (intvalues-1);

}
public static void main(String[] args){
System.out.print("输入随机数bit位的长度n:");
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
System.out.println("该随机数是:"+createRanInteger(n));
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐