PAT 天梯赛 L1-028. 判断素数 【水】

本文介绍了一种有效的素数判断算法,并通过一个示例程序展示了如何利用该算法判断一系列整数是否为素数。该程序使用了C++语言实现,涉及基本的输入输出操作和数学运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接

https://www.patest.cn/contests/gplt/L1-028

AC代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <cstdlib>
#include <ctype.h>
#include <numeric>
#include <sstream>
using namespace std;

typedef long long LL;
const double PI = 3.14159265358979323846264338327;
const double E = 2.718281828459;
const double eps = 1e-6;
const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
int isPrime(int x){
    int flag;
    int n,m;
    if(x<=1)
            flag=0;
        else if(x==2||x==3)
            flag=1;
        else if(x%2==0)
            flag=0;
        else{
            m=sqrt(x)+1;
            for(n=3;n<=m;n+=2){
                if(x%n==0){
                    flag=0;
                    break;
            }
                else{
                   flag=1;
                }
            }
        }
    return flag;
}

int main()
{
    int n;
    cin >> n;
    int num;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &num);
        if (isPrime(num))
            cout << "Yes\n";
        else
            cout << "No\n";
    }
}
### 团体程序设计天梯赛 Java 练习题及资源 #### 关于团体程序设计天梯赛简介 团体程序设计天梯赛是一项旨在提升大学生编程能力的比赛,通过解决一系列算法问题来锻炼参赛者的逻辑思维能力和编程技巧。比赛题目涵盖了基础数据结构、字符串处理以及简单的数学运算等内容。 #### 推荐的Java练习平台 为了更好地准备团体程序设计天梯赛中的Java部分,可以利用一些在线评测系统来进行针对性训练: - **牛客网**:提供大量针对不同难度级别的竞赛题目,并支持多种编程语言提交解答方案,其中包括许多适合初学者到高级选手挑战的问题集。 - **PAT (Programming Ability Test)**:这是由浙江大学计算机科学与技术学院主办的一个面向全国高校学生的公开测试项目,其中包含了丰富的L1级别简单题目供学习者实践[^1]。 #### 实际案例分析 下面给出一道典型的入门级Java题目作为例子——判断给定整数是否为素数。此题不仅考察了基本语法的应用,还涉及到循环控制语句和条件分支的选择。 ```java import java.util.Scanner; public class PrimeChecker { public static boolean isPrime(int num){ if(num <= 1) return false; for(int i = 2; i * i <= num ; ++i){ if(num % i == 0) return false; } return true; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int number = scanner.nextInt(); System.out.println(isPrime(number)? "Yes":"No"); } } ``` 这段代码实现了输入一个正整数并输出其是否为质数的功能。这里采用了较为高效的试除法来检测素性,在实际比赛中能够有效减少时间复杂度从而提高得分几率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值