内存:128  时间:1

题目描述

输入若干个正整数,将其中的素数输出来。
请在下面的代码基础上完成本题,只提交你编写的部分
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n);
int main( )
{
    int n;
    while(cin>>n)
    {
        if(isPrime(n))
            cout<<n<<endl;
    }
    return 0;
}
//下面实现isPrime函数,其功能是判断n是否是素数。
//若是素数,返回true,否则,返回false

输入

个数不确定的正整数

输出

输入数据中的素数,一数一行,保持原来的顺序

样例输入

83 5 12 363 137 307 31 87 126 490 300 358 28 239 286 69 25 94 7 336

样例输出

83
5
137
307
31
239
7

提示

代码如下

import java.util.*;
import java.text.DecimalFormat;
public class Main
{
    public static void main(String args[]) throws Exception
    {   
        DecimalFormat df = new DecimalFormat("0000000");
        Scanner cin = new Scanner(System.in);
        int i;
        for(;cin.hasNextInt();){
            i = cin.nextInt();
            if(isPrime(i))
                System.out.println(i);
        }
    }  
    public static boolean isPrime(int a) {
        boolean flag = true;
        if (a < 2) {
            return false;
        } 
        else {
            for (int i = 2; i <= Math.sqrt(a); i++) {
                if (a % i == 0) {
                    flag = false;
                    break;
                }
            }
        }
        return flag;
    }
}

代码来源于互联网,仅供参考!