zoukankan      html  css  js  c++  java
  • 计算出 3 至 1000 范围内最大的十个素数,放入数组中,并计算出其累加和。

    看到这个题.首先得想什么是素数.

    素数:是一个除了1和它本身之外再无任何因子的正整数.

    结合题目,要求找出范围内最大的10个素数,那么我们可以从1000开始找起,逐个递减,并判断是否是素数,如果是,就累加.找到第10个为止.

    当然如果想要代码以后重用的灵活性更大,也可以把符合要求的数放入一个数组,再依次相加即可.

    下面通过代码具体注释.

     1 public class Test1_8 {        //创建一个测试类 
     2 public static void main(String[] args){ //包含一个主函数,必须是public static ,且参数是字符串
     3 int n=0,s=0;
     4 int []zArray=new int[10];       //新建一个数组.格式: 数组类型 []数组名=new 数组类型[数组个数];当然如果个数不确定,可以用动态数组.导入包java.util.ArrayList
     5 for(int i=999;i>=3;i-=2){       //找到所有素数.从999开始倒着找
     6 for(int j=2;j<i;j++){         
     7 if(i%j==0)             //从2开始依次试除
     8 break;              //首先i与j此时不可能相等,但若不相等还可以除尽则表示j是除1和它本身之外的因子,即是素数.跳出不再循环.
     9 if(j==i-1)             //j与i-1相等.因为判断条件j<i.如果i是一个素数,那么j==i-1.如果不是则不等.
    10 {
    11 zArray[n]=i;            //是素数,存入数组,并将数组个数相加
    12 n++;    
    13 }    
    14 }
    15 if(n==10) break;          //已经有10个,跳出不再寻找
    16 }
    17 for(int i=0;i<10;i++){        
    18 s+=zArray[i];            //将数组中的10个元素相加
    19 System.out.println(zArray[i]);     //依次输出数组元素
    20 }
    21 System.out.println(s);        //输出和
    22 }
    23 }
  • 相关阅读:
    awk,seq,xarg实例使用
    Docker安装yapi
    基于阿里搭载htppd访问
    锐捷结课作业
    基于centos7搭建kvm
    基于django实现简易版的图书管理系统
    python 自定义log模块
    Interesting Finds: 2008.01.13
    Interesting Finds: 2008.01.24
    Interesting Finds: 2008.01.17
  • 原文地址:https://www.cnblogs.com/silenTJ/p/7784624.html
Copyright © 2011-2022 走看看