• java-基础练习题2


    题目:判断101-200之间有多少个素数,并输出所有素数。 

    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 
    则表明此数不是素数,反之是素数。 

    方法1.素数,大于等于2, 除了1和本身以外,不能被整除,所以就从 2 开始进行 for 循环,小于 number 的情况下,看是否能够 number 整除 i,能整除就不是素数了。

     1     private boolean isPrime2(int number) {
     2         boolean flag = true;
     3         if (number < 2) {
     4             flag = false;
     5         }
     6         for (int i = 2; i < number; i++) {
     7             if (number % i == 0) {
     8                 flag = false;
     9                 break;
    10             }
    11         }
    12         return flag;
    13     }

    方法2.判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 在 for 循环的时候,遍历从 2 到 Math.sqrt(number) ,能够被整除

     1     private boolean isPrime3(int number) {
     2         boolean flag = true;
     3         if (number < 2) {// 素数不小于2
     4             return false;
     5         } else {
     6             for (int i = 2; i <= Math.sqrt(number); i++) {
     7                 if (number % i == 0) {// 若能被整除,则说明不是素数,返回false
     8                     flag = false;
     9                     break;
    10                 }
    11             }
    12         }
    13         return flag;
    14     }

    测试代码:

     1     @Test
     2     public void test2() {
     3         int count = 0;
     4         for (int i = 101; i <= 200; i++) {
     5             if (isPrime3(i)) {
     6                 System.out.print(i + ",");
     7                 count++;
     8             }
     9         }
    10         System.out.println();
    11         System.out.println("共计:" + count);
    12     }

    测试结果:

    101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,
    共计:21
  • 相关阅读:
    AOP概述
    函数调用规定
    lexical scoping vs. dynamic scoping
    [C++]C++11新特性
    JavaScript Tutorial 05 #Class#
    JavaScript Tutorial 04 #Function#
    JavaScript Tutorial 03 #Array#
    JavaScript Tutorial 02 #Object#
    JavaScript Tutorial 01 #Basic#
    Win32 Thread Information Block
  • 原文地址:https://www.cnblogs.com/liyiran/p/5758378.html
Copyright © 2020-2023  润新知