⬆︎
×

[PAT-A] 1168 Prime Day

Hyplus目录

Java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    static boolean allPrime = true;

    static boolean isPrime(String numStr) {
        if (numStr.isEmpty()) {
            return false;
        }

        int num = Integer.parseInt(numStr);
        if (num <= 1) {
            return false;
        }
        for (int i = 2; i <= num / i; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String numStr = br.readLine();

        while (!numStr.isEmpty()) {
            System.out.print(numStr);

            if (isPrime(numStr)) {
                System.out.println(" Yes");
            } else {
                System.out.println(" No");
                allPrime = false;
            }

            numStr = numStr.substring(1);
        }

        if (allPrime) {
            System.out.println("All Prime!");
        }
    }
}

C++

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

string s;
bool flag = true;

bool is_prime(string s) {
    int n = 0;
    if (!s.empty()) n = stoi(s);

    if (n <= 1) return false;
    for (int i = 2; i <= n / i; ++i)
        if (n % i == 0)
            return false;
    return true;
}

int main() {
    cin >> s;
    s = "1" + s;

    while (!s.substr(1).empty()) {
        s = s.substr(1);

        cout << s;
        if (is_prime(s)) cout << " Yes" << endl;
        else {
            cout << " No" << endl;
            flag = false;
        }
    }

    if (flag) cout << "All Prime!" << endl;
    return 0;
}

发表评论