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));
}
}