`
itmyhome
  • 浏览: 97435 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

不一定能写出来的求素数问题

 
阅读更多

闲来没事,写一个经典的java题目,求素数。

以为很简单,其实不然。

public class SuShu {
	public static void main(String[] args) {
		int i, j;
		for (i = 1; i <= 100; i++) {
			for (j = 2; j <= i / 2; j++) {
				if (i % j == 0) {
					break;
				}
			}
			if (j > i / 2) {
				System.out.println("素数:" + i);
			}
		}
	}
}


容易出错的地方:

1、循环j的时候 如果是j<i/2 会有不同结果

2、if(j>i/2)也应放在遍历 j 之外 所以要把 j 定义为全局变量

分享到:
评论

相关推荐

    C 语言求素数

    实践中,可以尝试优化算法,比如使用更高效的“埃拉托斯特尼筛法”来找出一定范围内的所有素数。此外,还可以扩展功能,例如支持连续输入多个数并一次性判断它们是否为素数,或者将结果保存到文件中。这样的练习有助...

    动态规划求素数.

    在计算机科学与数学领域,素数(或称质数)是指仅能被1和自身整除的大于1的自然数。对于某些应用场景,例如密码学中的RSA算法,需要快速高效地生成或识别大范围内的素数。传统的方法如试除法等效率较低,尤其是在...

    求解第N个质数(第N个素数)vs2010项目

    反之,如果不能被这些数整除,那么n就是质数。在寻找第N个质数时,我们通常从2开始,每次检查下一个未标记的数,直到找到第N个质数为止。在这个过程中,我们需要跳过所有已知的非质数,这通常通过构建一个质数筛来...

    筛选法求素数

    筛选法求素数是计算机程序设计中的一种常见算法,用于找出一定范围内所有素数。在C++编程语言中实现这个算法,我们可以利用其强大的数组处理能力和控制结构来高效地完成任务。下面将详细介绍筛选法(也称为...

    1亿以内的质数(共5761455个数).txt_1亿以内素数的个数

    1. **埃拉托斯特尼筛法**:一种古老的算法,用于找出一定范围内所有的质数。通过标记合数来实现,效率较高。 2. **米勒-拉宾素性测试**:基于概率的方法,可以在短时间内判断一个数是否可能是质数。适用于非常大的数...

    求解素数环问题

    在素数环问题中,我们可以创建一个队列来存储可能的素数环起始点,然后逐步扩展这个环,直到找到满足条件的环或者证明不存在这样的环。 队列是一种先进先出(FIFO)的数据结构,适用于处理需要按顺序处理任务的情况...

    matlab 求素数 (四种方法)

    尽管不能保证100%正确,但通过多次测试,错误率可以降低到非常低。在MATLAB中,可以利用内置函数`isprime`,该函数内部实现了米勒-拉宾测试和其他高效算法: ```matlab n = 1000000007; % 测试一个大数 if ...

    求质数的算法

    如果不能,则n是质数。源代码实现通常包含一个循环,逐个测试可能的因子。 两种算法的对比: - **效率**:埃拉托斯特尼筛法在处理大量质数时效率更高,因为它只需要一次遍历就能找出所有质数,而试除法需要对每个数...

    算法-求一亿以内的回文质数(素数).rar

    在编程领域,求解一定范围内的回文质数是一项常见的算法挑战,这个挑战通常涉及到两个主要的知识点:回文判断和素数判断。 首先,我们需要了解什么是回文。回文是指一个字符串,无论从左向右读还是从右向左读,其...

    不同存储方式上求素数的

    根据给定文件的信息,本文将深入探讨不同存储方式上求素数的方法,并通过具体实例来说明每种方法的特点与应用场景。 ### 一、引言 素数是指只能被1和自身整除的大于1的自然数。求解素数不仅是一项基本的数学问题,...

    求质数表的方法,30000以内质数

    质数,也称为素数,是大于1且只能被1和它本身整除的自然数。在数学领域,质数的研究具有重要的理论价值,而生成质数表则是探索质数性质的基础工作。在这个主题中,我们将探讨两种常用的方法来生成30000以内的质数表...

    利用JAVA,求素数和。

    虽然在本问题中不需要完整的筛法,但理解它是找出素数的重要基础。 - **直接判断**:对于较小的数字,可以通过循环除法来判断一个数是否为素数。如果从2到该数的平方根遍历无余数,那么这个数就是素数。 3. **动态...

    结构化程序设计求素数

    素数是大于1的自然数,除了1和它本身外,不能被其他自然数整除的数。理解素数的概念是解决问题的基础。 首先,我们需要知道如何判断一个数是否为素数。最基础的方法是从2开始到这个数的平方根之间遍历,如果存在...

    java实现打印素数/质数程序

    在编程领域,素数或质数是指大于1且仅能被1和其本身整除的自然数。在Java中实现打印素数的程序是一项基础但重要的任务,这有助于理解和掌握循环、条件判断以及数学逻辑在编程中的应用。下面将详细解释如何通过Java...

    MIPS汇编下用筛选法求100以内素数

    该算法的基本思想是:从2开始,为每个数i,如果i是素数,那么i的倍数一定不是素数,从而排除掉这些非素数。 MIPS汇编语言实现 下面是使用MIPS汇编语言实现筛选法求100以内素数的代码: .data array: .space 400 ...

    求出1000以内的素数及素数的个数

    这种方法特别适用于寻找一定范围内所有的素数,且效率较高。 然而,本例中的代码并未采用埃拉托斯特尼筛法,而是采用了另一种更为直观但效率相对较低的方法来判断素数。具体来说,对于每一个数n,通过检查其是否有...

    求最大素数

    在探讨“求最大素数”的知识点时,我们首先需要理解什么是素数,以及如何通过编程方式寻找一定范围内的最大素数。素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。例如,2、3、5、7、11等都是素数...

    java求解素数环问题

    在编程领域,素数环问题是一个有趣的数学与算法结合的问题,尤其在Java中解决这个问题能够展示出编程者对算法的理解和应用能力。素数环,顾名思义,是将素数通过特定的方式连接成一个环状结构。在这个问题中,我们...

    求1000以内的质数C++程序

    通过以上分析,我们可以看到原程序虽然基本实现了求1000以内质数的功能,但在细节处理上存在一定的问题。理解质数的概念及其判断方法对于编写正确的程序至关重要。同时,在编程实践中,需要注意代码的逻辑清晰度和...

    两百万的素数(质数)

    ### 两百万的素数(质数) #### 知识点概述 在数学领域中,素数(或称质数)是指只能被1和自身整除的大于1的自然数。素数是数论研究中的核心概念之一,在密码学、算法设计及多种科学计算中具有极其重要的作用。...

Global site tag (gtag.js) - Google Analytics