java基础计算素数while

java基础计算素数while最近在重新学习 C 语言 因为以前学的东西太少太少 像指针使用什么的都不熟悉 所以决定买本书好好看看 在边看书边实践的过程中有一个很经典的问题需要解决 就是怎么判断一个读入的整数是否是素数 如果不是并打印其约数 当然 对我来说还是很简单的 很快的就解决了 所以分享一下自己的理解吧 希望大家能或多或少的有点收获 首先 什么是素数 质数 数学的概念中 素数就是只能被 1 和它本身所整除的整数

大家好,我是讯享网,很高兴认识大家。



最近在重新学习C语言,因为以前学的东西太少太少,像指针使用什么的都不熟悉。所以决定买本书好好看看。在边看书边实践的过程中有一个很经典的问题需要解决。
就是怎么判断一个读入的整数是否是素数,如果不是并打印其约数。
当然,对我来说还是很简单的。很快的就解决了,所以分享一下自己的理解吧,希望大家能或多或少的有点收获。


  • 首先,什么是素数(质数)?

数学的概念中,素数就是只能被1和它本身所整除的整数。但是有一个例外,就是1不属于素数。所以你在输入一个整数并加以判断的时候就需要考虑这种情况了。如下即可:

这里用到了while循环来判断输入的数值并加以判断,如果输入格式正确的话会返回一个1并将输入的数值存入num这个变量中,然后再判断num的值是否为1。


在这里有一条很好用的规则用于素数的判断:测试的数只需要界于2到num的平方根之间的所有数,看它们是否可以整除num。如果可以整除,说明输入的数不是素数;反之,说明输入的数是素数。

  • 到这里,就会有人说平方根怎么求,其实这个很好解决。你完全可以像下面这样描述判断条件:
讯享网

在这里,在if条件语句里面还嵌套了一个if条件语句,用来判断两个约数是否是一样的,比如144,约数是12和12,这时候就只需要打印一个约数即可。


  • 第二,我们怎样知道一个数数素数呢?

如果num是素数,程序流程永远也进不了if语句中。为了解决这个问题,可以在循环外设置一个变量为某一值,比方说1,在if语句中将这个变量重设为0。那么,循环完成后,可以检查该变量是否仍然是1。如果是,则从没进入过if语句,这个数是素数。我这里用int类型的变量isPrime来当作一个标志实现这个想法。


好了,结合上面的所有想法,我们开始写代码了:

 

这里有一个关键就是,在for循环控制表达式中使用了逗号运算符,以针对每个新输入的数将isPrime初始化为1。


下面演示一些输入的示例:

用while判断整数是否为素数java while判断一个数是否为素数_c语言java基础计算素数while

用while判断整数是否为素数java while判断一个数是否为素数_while循环_02


好了,运行后的结果都是正确的,大家也可以自己试试看。

每天进步一点点!加油!

小讯
上一篇 2025-01-02 23:56
下一篇 2025-01-01 13:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/4278.html