第二次编程作业:判断一个正整数是否为质数的算法和 随机生成一个n bit位的长整数
2014-03-20 21:25
555 查看
2.1: 判断一个正整数是否为质数的算法。函数签名如下
int isPrime(long a)
输入:一个长整数a
输出:返回1(为质数),返回0(非质数)
2.2: 随机生成一个n bit位的长整数。函数签名如下
long createRndInteger(int n)
输入:随机数bit位的长度为n(解释:3bit位,则最大为111,最小为100;n bit位,则该数字二进制长度为n)
输出:返回该随机数
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)); } }
相关文章推荐
- 第二周作业:“RSA”、“数字签名”、“公钥”、“DES“的解释; 判断一个正整数是否为质数的算法;随机生成一个n bit位的长整数
- 201111621401-白乐乐-判断一个正整数是否为质数的算法。函数签名如下 int isPrime(long a) 输入:一个长整数a 输出:返回1(为质数),返回0(非质数)
- 第二周作业1——判断一个正整数是否为质数的算法
- 第二周作业---判断一个正整数是否为质数的算法
- 第二周作业 2.1——判断一个正整数是否为质数的算法
- 第二周作业 2.1: 判断一个正整数是否为质数的算法
- 第二周作业--------判断一个正整数是否为质数的算法
- 判断一个正整数是否为质数的算法(第二周作业2.1)
- 算法概论第二周作业2.1: 判断一个正整数是否为质数的算法
- 算法:从键盘循环输入一个整数,判断是否是素数\质数
- 判断一个正整数是否为质数的算法
- 判断一个正整数是否为质数的算法
- 判断一个正整数是否为质数的算法
- 2.1: 判断一个正整数是否为质数的算法。
- 2.1: 判断一个正整数是否为质数的算法
- 第二周作业 2.2: 随机生成一个n bit位的长整数。
- 判断一个正整数是否为质数的算法
- 判断一个正整数是否为质数的算法
- 判断一个正整数是否为质数的算法
- JAVA--第十周作业编写之一个Teacher类负责给出算术题目,随机给出两个整数并进行运算,并判断回答者的答案是否正确;编写一个GUI类ComputerFrame,回答者可以通过GUI看到题目并给出