題目2:判斷素?cái)?shù)并輸出

題目:

判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。

程序分析:

判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。

程序

package com.ljy.tencent;
/**
 * 題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
 * 程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),
 * 如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。
 * @author liaojianya
 * 2016年9月29日
 */
public class JudgePrimesNumber
{
    public static void main(String[] args)
    {
        boolean flag = true;
        int count = 0;
        System.out.println("在101-200之間的素?cái)?shù)有:");
        for(int i = 101; i <= 200; i++)
        {
            for(int j = 2; j <= Math.sqrt(i); j++)
            {
                //如果i能被2~sqrt(i)中的任何一個(gè)數(shù)整除,則跳出該循環(huán)
                if(i%j == 0)
                {
                    flag = false;
                    break;
                }
                else
                {
                    flag = true;
                }
            }
            if(flag)
            {
                count++;
                System.out.print(i + ", ");
            }
        }
        System.out.println();
        System.out.println("在101和200之間一共有" + count + "個(gè)素?cái)?shù)");
    }
}

優(yōu)化代碼程序:

package com.ljy.tencent;
/**
 * 題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
 * 程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),
 * 如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。
 * @author liaojianya
 * 2016年9月29日
 */
public class JudgePrimesNumber
{    static int count = 0;
    static boolean flag = true;
    public static void main(String[] args)
    {


        System.out.println("在101-200之間的素?cái)?shù)有:");
        for(int i = 101; i <= 200; i++)
        {        
            JudgeFrames(i);
        }
        System.out.println();
        System.out.println("在101和200之間一共有" + count + "個(gè)素?cái)?shù)");
    }

    public static int JudgeFrames(int i)
    {
        if( i == 1)
        {
            flag =false;
        }
        else
        {
            for (int j = 2; j <= Math.sqrt(i); j++)
            {
                // 如果i能被2~sqrt(i)中的任何一個(gè)數(shù)整除,則跳出該循環(huán)
                if (i % j == 0 || i == 0)
                {
                    flag = false;
                    break;
                }
                else
                {
                    flag = true;
                }
            }
        }
        //如果flag為true則表示i這個(gè)數(shù)不能被2~sqrt(i)中的數(shù)整除,則將prime個(gè)數(shù)count自增1
        if(flag)
        {
            count++;
            System.out.print(i + ", ");
            //如果打印數(shù)目超過(guò)10個(gè),則換行
            if(count%10==0){
                System.out.println();
            }
        }
        return count;
    }
}

結(jié)果輸出

在101-200之間的素?cái)?shù)有:
101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,
在101和200之間一共有21個(gè)素?cái)?shù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,223評(píng)論 0 41
  • Java經(jīng)典問(wèn)題算法大全 /*【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子...
    趙宇_阿特奇閱讀 2,068評(píng)論 0 2
  • C語(yǔ)言的學(xué)習(xí)要從基礎(chǔ)開(kāi)始,這里是100個(gè)經(jīng)典的算法-1C語(yǔ)言的學(xué)習(xí)要從基礎(chǔ)開(kāi)始,這里是100個(gè)經(jīng)典的 算法 題目:...
    Poison_19ce閱讀 1,300評(píng)論 0 0
  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    磨礪營(yíng)閱讀 739評(píng)論 0 6
  • 【程序1】題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子...
    Xplorist閱讀 739評(píng)論 0 2

友情鏈接更多精彩內(nèi)容