当前位置: 首页 > news >正文

网站建设方面的书籍中山网站推广

网站建设方面的书籍,中山网站推广,网站建设课设心得,赣州章贡区医保局电话java整数的因式分解编程课程中的常见家庭作业/任务之一是关于Prime Factorization。 要求您编写一个程序以找到给定整数的素因子 。 一个数字的素数因子是将精确地除以给定数字的所有素数。 例如#xff0c;素数因子35是7和5#xff0c;它们本身都是素数#xff0c;并且精确… java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization。 要求您编写一个程序以找到给定整数的素因子 。 一个数字的素数因子是将精确地除以给定数字的所有素数。 例如素数因子35是7和5它们本身都是素数并且精确地除以35。上一次我上大学时做此练习就像是编写一个要求用户输入整数的程序然后在命令行中显示该数字的素数分解。 该程序也有变种例如看一下本练习编写一个程序以提示用户输入正整数并以降序显示所有最小因子。 它与前面提到的素因数分解问题大致相同但是有一些以降序显示的问题。 显示根本不是问题您可以在命令提示符或GUI中轻松显示它主要是编写逻辑来找到主要因素这就是您将在本编程教程中学到的。 请记住我们不能使用直接解决问题的API方法例如不允许您使用StringBuffer的反向方法来反向Java中的String。 您需要通过使用原始编程结构例如控制语句循环算术运算符等来编写素数分解的核心逻辑。 在这里不拖延地介绍了我们找到主要因素的完整Java程序。 计算素数的逻辑写在方法primeFactors长整数内部这是查找素数的简单蛮力逻辑。 我们从2开始因为那是第一个质数并且每个数字也可以被1整除然后我们进行迭代直到通过一次递增和步进来找到质数。 当我们找到一个素数因子时我们将其存储在Set中并减少数量直至循环。 为了运行该程序您可以简单地将其复制粘贴到文件PrimeFactors.java中然后使用javac和java命令进行编译和运行。 如果您发现运行此程序有任何困难还可以参考本文以获取有关如何从命令提示符下运行Java程序的逐步指南。 import java.util.HashSet; import java.util.Random; import java.util.Scanner; import java.util.Set;/** * Java program to print prime factors of a number. For example if input is 15, * then it should print 3 and 5, similarly if input is 30, then it should * display 2, 3 and 5. * * author Javin Paul */ public class PrimeFactors{public static void main(String args[]) {System.out.printf(Prime factors of number %d are : %s %n, 35, primeFactors(35));System.out.printf(Prime factors of integer %d are : %s %n, 72, primeFactors(72));System.out.printf(Prime factors of positive number %d is : %s %n, 189, primeFactors(189));System.out.printf(Prime factors of number %d are as follows : %s %n, 232321, primeFactors(232321));System.out.printf(Prime factors of number %d are as follows : %s %n, 67232321, primeFactors(67232321));}/*** return prime factors of a positive integer in Java.* input 40* output 2, 5*/public static Set primeFactors(long number) {long i;Set primefactors new HashSet();long copyOfInput number;for (int i 2; i copyOfInput; i) {if (copyOfInput % i 0) {primefactors.add(i); // prime factorcopyOfInput / i;i--;}}return primefactors;}}Output: Prime factors of number 35 are : [5, 7] Prime factors of integer 72 are : [2, 3] Prime factors of positive number 189 is : [3, 7] Prime factors of number 232321 are as follows : [4943, 47] Prime factors of number 67232321 are as follows : [12343, 419, 13] 如果您对那个尖括号感到好奇那么Java 7中引入了它的菱形运算符可以更好地进行类型推断。 现在您无需在表达式的两面编写类型参数就像在Java 1.6中一样这使它们更具可读性。 现在回到练习如果您查看输出它仅返回唯一的质因数因为我们正在使用Set接口该接口不允许重复。 如果Interviewer要求您编写程序将数字除以其主要因子然后打印所有因子则需要使用List界面而不是Set。 例如 72 的唯一质数为[2,3]但以质数为单位的数字为[ 22233 ] 。 如果需要这种输出可以重写我们的primeFactorslong number方法以返回List Integer 如下所示 public static ListInteger primeFactors(long number) {ListInteger primefactors new ArrayList();long copyOfInput number;for (int i 2; i copyOfInput; i) {if (copyOfInput % i 0) {primefactors.add(i); // prime factorcopyOfInput / i;i--;}}return primefactors;} 这是使用此版本的primeFactorslong number方法运行相同程序的输出。 这次您可以看到所有主要因素而不仅仅是唯一因素。 这也解释了Set和List界面之间的区别 这对初学者来说非常重要。 Prime factors of number 35 are : [5, 7] Prime factors of integer 72 are : [2, 2, 2, 3, 3] Prime factors of positive number 189 is : [3, 3, 3, 7] Prime factors of number 232321 are as follows : [47, 4943] Prime factors of number 67232321 are as follows : [13, 419, 12343] 现在是时候练习编写一些JUnit测试了。 实际上有两种测试代码的方法一种是通过编写main方法调用方法并将自己的实际输出与预期输出进行比较。 其他更高级和首选的方法是使用单元测试框架如JUnit来实现。 如果您遵循测试驱动的开发那么甚至可以在编写代码之前编写测试然后让测试驱动您的设计和编码。 让我们看看我们的程序在一些JUnit测试中的表现如何。 import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import org.junit.Test;public class PrimeFactorTest {private ListInteger list(int... factors){ListInteger listOfFactors new ArrayList();for(int i : factors){listOfFactors.add(i);} return listOfFactors;}Testpublic void testOne() {assertEquals(list(), PrimeFactors.primeFactors(1));}Testpublic void testTwo() {assertEquals(list(2), PrimeFactors.primeFactors(2));}Testpublic void testThree() {assertEquals(list(3), PrimeFactors.primeFactors(3));}Testpublic void testFour() {assertEquals(list(2,2), PrimeFactors.primeFactors(4));}Testpublic void testSeventyTwo() {assertEquals(list(2,2,2,3,3), PrimeFactors.primeFactors(72));} } 在我们的测试类 PrimeFactorsTest中我们有五个测试用例来测试拐角案例单个素因案例和多个素因案例。 我们还创建了一个实用程序方法listint…ints 该方法利用Java 5 varargs返回给定数字的List。 您可以使用任意数量的参数包括零来调用此方法在这种情况下它将返回一个空的List。 如果您愿意可以扩展我们的测试类以添加更多测试例如性能测试或一些特殊情况测试以测试我们的素因分解算法。 这是我们的JUnit测试的输出如果是您的新产品还可以查看本教程以了解如何创建和运行JUnit测试 。 这就是如何在Java中查找整数的素数。 如果您需要更多练习还可以查看以下20个编程练习涉及各种主题例如LinkdListStringArrayLogic和Concurrency。 如何在Java中不使用临时变量的情况下交换两个数字 把戏 如何检查LinkedList是否包含Java循环 解决方案 编写程序以检查数字是否为2的幂 回答 如何通过一遍查找LinkedList的中间元素 有关解决方案请参见此处 如何检查数字是否为素数 解决方案 编写程序来查找给定数字的斐波那契数列 解决方案 如何检查号码是否是阿姆斯特朗号码 解决方案 编写一个程序来防止Java死锁 单击此处获取解决方案 编写一个程序来解决Java中的Producer Consumer问题。 解决方案 如何在不使用API​​方法的情况下反转Java中的String 解决方案 编写程序来使用Java中的递归来计算阶乘 单击此处获取解决方案 如何检查一个数字是否是回文 解决方案 如何检查数组是否包含重复的数字 解决方案 如何从Java中的ArrayList中删除重复项 解决方案 编写一个Java程序以查看两个String是否是Anagram 解决方案 如何计算字符串中字符的出现次数 解决方案 如何从Java中的String查找第一个非重复字符 有关解决方案请参见此处 编写程序以检查Java中的数字是否为二进制 解决方案 如何在不使用Collection API的情况下从数组中删除重复项 解决方案 编写一个程序来计算Java中数字的总和 解决方案 翻译自: https://www.javacodegeeks.com/2014/05/how-to-find-prime-factors-of-integer-numbers-in-java-factorization.htmljava整数的因式分解
http://www.huolong8.cn/news/156182/

相关文章:

  • 关键词搜索优化外包手机网站 seo
  • 做php网站会员开店代码如何编写重庆百度竞价托管
  • 仕德伟做的网站微信管理系统登录
  • 广州市网站制作服务公司河南省建设工程监理协会网站
  • 布谷 海南网站建设wordpress数据库显示图片
  • 下载网站模板的软件手机网站 搜索优化 百度
  • 花都区手机版网站建设dw网页设计免费下载
  • 公司注册网站查询深圳做外贸网站公司
  • 如何说服企业做网站电商网站设计模板dw
  • 网站建设 中企动力医院网站的设计流程是怎么样的?
  • 计算机协会网站模板WordPress nex
  • 南通网站备案app下载官网
  • 手机网站模板 餐饮临沂网站维护
  • wordpress网站注册不了网站制作全包价格
  • 手机搭建网站教程做网站时无法上传图片
  • 做选择的网站国家关于网站信息建设管理文件
  • 单页企业网站模板互联网行业黑话
  • 滕州网站建设哪家好房产做网站是什么意思
  • 网站备案部门长春百度网站快速优化
  • 我想弄个网站推广计划
  • 深圳企业网站建设多少钱青海城乡建设部网站首页
  • 设计制作简单的手机网站四川建设厅网站入川备案文件
  • 网站服务器异常是什么意思学做网站好就业吗
  • 网站后台打不开的原因维修报价单模板
  • 北京网站设计与制作湖南省建设厅最新领导分工
  • 合肥好的app开发公司广东做网站优化公司报价
  • 门户网站建设项目制作相片的免费软件
  • 哈尔滨网站优化指导福州网签查询系统
  • dw做旅游网站模板下载设计产品网站推荐
  • 开远市新农村数字建设网站建站公司怎么备案