JAVA求101-200之间的素数

2024-11-05 22:01:23
推荐回答(5个)
回答1:

/**
* 需求: 求101-200之内的素数?
*/
public class Demo3 {
public static void main(String[] args) {
// 内循环判断是否为素数,外循环控制打印
int num, i;
int count = 0, sum = 0;
for (num = 101; num <= 200; num++) {
for (i = 2; i < num; i++) {
if (num % i == 0) {
break;
}
}
if (num == i) {
sum += num;
count++;
System.out.print(num + "\t");
if (count % 5 == 0) {
System.out.println();
}
}
}
System.out.println();
System.out.println("101到200之间所有素数的和为" + sum);
}

}

1、java介绍:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

2、研发背景:Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。Java由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。

3、技术优势:与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

4、语言起源:Java平台和语言最开始只是SUN公司在1990年12月开始研究的一个内部项目。SUN公司的一个叫做帕特里克·诺顿的工程师被自己开发的C和C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会。

回答2:

public class Test {
    public static void main(String[] args) {
        boolean flag = true;
        for(int i=101;i<=200;i++) {
            for(int j=2;j                if(i%j==0) { // 如果i%j==0的话,说明可以被整除,不是素数!
                 flag = false;  // 就将布尔值改为false;
                    break;   // 就跳出这次的循环,执行i自增1的操作!
                } else {
                 flag = true;
                }
            }
            if(flag)// 一个循环结束,如果flag为真,则说明没有被整除,是素数,
                System.out.println(i+"是素数!");
            else    // 反之不是
                System.out.println(i+"不是素数");
        }
    }
}

 只是执行效率上差点哦。可以有更高效率的算法!

回答3:

eNumber{
public static void main(String age[]){

//count用来统计有多少个素数
int count=0;

//这个for对101~200的数字进行依次比较
for(int number=101;number<=200;number++){

int z=0;
//对于除的数进行自增、进行计算
for(int a=2;a //如果能除尽、那么z=1做一个记录、并且跳出该循环
if(number%a==0){
z=1;
break;
}
}
//如果查找完了、z都一直为0就证明这个数一直没有被整除
if(z==0){
count+=1;
}
}
System.out.println (count);
}
}

回答4:

public class SuShu
{

public static void main(String[] args)
{
// TODO Auto-generated method stub

for(int i = 101; i <= 200; i++){
boolean flag = false;
for(int j = 2; j < i; j++){

if(i%j == 0){
flag = true;
break;
}
}
if(!flag){
System.out.println(i + "是素数");
}
}
}

}
应该没有错哦 效率低一点 想要效率高可以改内层循环啊

回答5:

这种问题可以分2步来解决,第一步,写一个函数测试一个数是否为素数,
第二部, for 101 -- 200, 测试每个数是否为素数。
当然也可以使用其它算法, 比如用筛法,建议最好了解一下算法,数学方面的书。