编写一个JAVA程序,求1~1000之内所有非质数的和~~~~

如题所述

public class sushu {
public static void main(String[] args) {
int sum = 1;
//1不是质数,2是质数,所以和sum先+1,这里判断是不是质数的循环从2开始的
for(int i=3; i<=1000; i++) {
boolean b = false;
for(int j=2; j<=Math.sqrt(i); j++){
if(i % j == 0){
b = true;
break;
}else{
b = false;
}
}
if(b == true){
sum = sum+i;
//能整除不是素数,求和
}
}
System.out.println("所有非质数的和为:"+ sum);
}
}

认真给你写了,并检测了下, 不理解的追问~
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-30
质数存成一个数组然后去看一个数是否能被质数整除不就能得出是否质数。

public class Prime{
public static void main(String[] args) {
System.out.println(getSumPrime(1000));
}
public static int getSumPrime(int n){
ArrayList<Integer> list =new ArrayList<Integer>();
int sum=0;

for(int i=1;i<=n;i++){
if(i!=2){
for(int j=0;j<list.size();j++){
if(i%list.get(j)==0){

break;
}
if(j==list.size()-1){
sum+=i;
list.add(i);
}
}
}else{
sum+=i;
list.add(i);

}
}
return sum;
}
}本回答被网友采纳
第2个回答  2013-01-18
首先知道什么是质数、
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数
所以写一个循环就OK了
第3个回答  2013-01-18
把质数找出来
int a ;

for(int i =2;i<1001;i+=2){
for(int j =2;j<=Math.sqrt(i);j++){
if( i /j ==0) { return false;}else
第4个回答  2013-01-18
publicstaticvoid test4() { 23 System.out.println(2); 4 System.out.println(3); 5 System.out.println(5); 6 System.out.println(7); 7for(int i=10;i<=100;i++){ 8if(i%2!=0 && i%3!=0 && i%5!=0 && i%7!=0){ 9System.out.println(i); 10} 11} 12 }

详情参考:http://blog.sina.com.cn/s/blog_6a6badc901014l0b.html

编写一个JAVA程序,求1~1000之内所有非质数的和~~~
public static void main(String[] args) { int sum = 1;\/\/1不是质数,2是质数,所以和sum先+1,这里判断是不是质数的循环从2开始的 for(int i=3; i<=1000; i++) { boolean b = false;for(int j=2; j<=Math.sqrt(i); j++){ if(i % j == 0){ b = true;break;}else{...

求编写一个JAVA程序 求出1到10000内的质数 并且把结果保存到 D盘下s...
import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {\/\/判断n是不是质数。\/\/数学原理:File file = new File("D:\\\\shu.txt");FileOutputStream ...

JAVA作业.找出1~1000以内的质数
public static void main(String[] args) { \/\/循环1000以内的数 for (int n=1;n<=1000;n++){ \/\/给b初始值true boolean b = true;\/\/如果循环拿到的数n不等于1,就进入下面循环 if (n != 1 ){ \/\/i从大于1的第一个数也就是2开始,一次循环到比这个数n本身小的最大的数 \/\/何为...

求一个计算1到100以内所有质数之和的JAVA程序代码以及以及位码和流程...
if (i % j == 0) { break; \/\/如果余数为0这跳出if跳到第一个for循环,再次执行 } if (j >=(i-1)) \/\/满足第一个if并满足第二个if则输出i的值 { sum=sum+i; \/\/所有素数相加;System.out.println(i);\/\/输出i的值 } } System.out.println("所有素数何为"+sum);} ...

怎么用java的流程图求100以内质数和啊?
要使用Java编写一个程序来找出100以内的质数,你可以遵循以下流程图来构建程序:flow st = start: 开始 initialize = operation: 初始化变量 initialize2 = operation: 初始化结果列表 check_prime = condition: 检查数字是否为质数 add_to_list = operation: 将质数添加到结果列表 increment = operation...

用java程序求出1到10000之间质数的和,并说出为什么要这样编写。
因为质数是一个正整数不能被除了1和自身以外的数整除,就叫做质数(1不是质数)所以根据定义从2到10000,每个数除以2到其自身减1的数,如果能被整除(等于0)则不是质数,否则就是质数 完整的Java程序如下(每句都加了注释)public class SuShuHe{ public static void main(String[] args){ int sum=0,j...

JAVA编写:分别运用三种循环语句编程实现找出1~100中所有质数
public static void main(String[] args){ System.out.println(" 1--100之间的质数分别是: ");int n=0,m,j,i,s = 0;for(i=3;i<=100;i+=2){ m=(int)Math.sqrt((double)i);for(j=2;j<=m;j++){if((i%j)==0) break;} if(j>=m+1){ System.out.println(i+" ");...

java 如何输出1到100间的质数
publicclassTest{ publicstaticvoidmain(String[]args){ intj;for(inti=2;i<=100;i++)\/\/1不是素数,所以直接从2开始循环 { j=2;while(i%j!=0)j++;\/\/测试2至i的数字是否能被i整除,如不能就自加 if(j==i)\/\/当有被整除的数字时,判断它是不是自身 System.out.println(i);\/\/如果是...

求一段java代码,题目是求1到100之间所有质数和?
int sum =0;int x=0;for(int m =2,m<=100,m++){\/\/循环从2开始,2最小的质数,循环到100 for(int n = 2,n<m,n++){\/\/循环除以比自己小的数字 if(m%n==0){\/\/若余数为0,则个数加一,即去的可被整除的数字的个数 x++;} } if(x==0){\/\/当m不可以整除比自己小的整数后...

Java求100以内的质数的小代码!
(1)需求:输出1~100的所有素数。(2)素数:--判断条件1:只能被1和本身整除的称为素数。--判断条件2:在区间(1,x\/2)中找不到能整除素数x的整数。--判断条件3:在区间(1,sqrt(x))中找不到能整除素数x的整数。(3)完整代码如下:2、if(b)语句解析:是否是质数的标志,是就输出 ...

相似回答