GDPU 竞赛技能实践 天码行空9

1. 埃式筛法

求区间[2, n]内所有的素数对

💖 Main.java

import java.util.Scanner;public class Main
{static int N = (int) 1e8, cnt = 0;static int[] p = new int[N];static boolean[] st = new boolean[N];public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();getPrimes(n);print();}private static void print(){for (int i = 0; i < cnt; i++)System.out.print(p[i] + " ");}private static void getPrimes(int n){for (int i = 2; i <= n && i < N; i++){if (!st[i]){p[cnt++] = i;for (int j = 2; j * i <= n; j++)st[i * j] = true;}}}}

在这里插入图片描述

2. 求第1亿个Fibonacci数

👨‍🏫 参考地址

💖 Main.java

public class Main
{static long n, p;//	龟速乘法(快速积)static long qmul(long a, long b){long res = 0;while (b != 0){if ((b & 1) == 1){res = (res + a) % p;}a = (a + a) % p;b >>= 1;}return res;}//	矩阵乘法static void mul(long[][] a, long[][] b){
//		临时矩阵暂存结果long[][] tmp = new long[2][2];for (int i = 0; i < 2; i++)for (int j = 0; j < 2; j++)for (int k = 0; k < 2; k++)tmp[i][j] = (tmp[i][j] + qmul(a[i][k], b[k][j])) % p;//		拷贝for (int i = 0; i < 2; i++)for (int j = 0; j < 2; j++)a[i][j] = tmp[i][j];}//	计算斐波那契数列的第 n 项static long F(long n){
//		极端情况if (n == 0)return 0;//		根据fn来进行构造矩阵// fn,分别为f(1) f(2)long[][] f = { { 1, 1 }, { 0, 0 } };// 累乘矩阵long[][] a = { { 0, 1 }, { 1, 1 } };//      快速幂for (long k = n - 1; k != 0; k >>= 1){if ((k & 1) == 1)mul(f, a);mul(a, a);}return f[0][0];}public static void main(String[] args){n = (int) 1e8;// 10^8 == 1 亿p = Integer.MAX_VALUE; // 由于会爆int long 需要取模System.out.println("前20项:");for (int i = 0; i < 20; i++)System.out.print(F(i) + " ");System.out.println();System.out.println("第1亿项:" + F(n));}
}

在这里插入图片描述

3.Catalan数

即卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中的数列,以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名。现请你写一段程序来计算Catalan数。
输入样例:

5

输出样例:

42

💖 Main.java

import java.util.Scanner;public class 卡特兰数
{static long cal(int n){long son = 1;long mum = 1;for (int i = 2 * n; i > n; i--)son *= i;for (int i = n; i >= 1; i--)mum *= i;return son / (mum * (n + 1));}public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println(cal(n));}
}

在这里插入图片描述

4. 摆球

现将大小和形状相同的4个黑色球和4个红色球排成一排,从左边第一个球开始数,不管数几个不球,黑球数不少于红球数的排法有多少种?请编程实现。
卡特兰数的应用

💖 Main.java

public class Main
{static int N = 8;static long ans = 0;static long ans1 = 0;public static void main(String[] args){dfs(0, 0, 0);System.out.println(ans + " " + cal(4));}//	卡特兰数static long cal(int n){long son = 1;long mum = 1;for (int i = 2 * n; i > n; i--)son *= i;for (int i = n; i >= 1; i--)mum *= i;return son / (mum * (n + 1));}//	暴力枚举private static void dfs(int cur, int black, int red){if (cur >= 8){if (red == 4 && black == 4)ans++;return;}if (black > red)dfs(cur + 1, black, red + 1);dfs(cur + 1, black + 1, red);}}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/314633.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(mac)Promethues监控之mysqld_exporter(MySQL监控)

搭建Mysqld_exporterPrometheusGrafana监控系统 普罗米修斯是后端数据监控平台&#xff0c;通过Mysqld_exporter收集mysql数据&#xff0c;Grafana将数据用图形的方式展示出来 前提&#xff1a;已安装grafana和promethues 1.下载安装Mysql &#xff08;1&#xff09;启动MySQL…

一个联合均值与方差模型的R包——dglm

目录 一、引言二、包的安装与载入三、模拟例子3.1 数据生成3.2 数据查看3.3 模型估计参数 一、引言 在 R 语言中&#xff0c;dglm 包是用于拟合双参数广义线性模型&#xff08;Double Generalized Linear Models&#xff0c;简称 DGLMs&#xff09;的一个工具。这类模型允许同…

工厂高温如何降温?

工厂高温降温的方法有多种&#xff0c;以下是一些常见且有效的策略&#xff1a; 使用风扇或工业大风扇&#xff1a;风扇能够加速空气流动&#xff0c;使人体表面的汗液蒸发速度加快&#xff0c;从而带走更多的热量&#xff0c;实现降温效果。工业大风扇是小型风扇的升级产物&a…

go语言实现简单登陆返回token样例

目录 1、代码实现样例&#xff1a; 2、postman调用&#xff0c;获取登陆后的token&#xff1a; 1、代码实现样例&#xff1a; package mainimport ("net/http""time""github.com/dgrijalva/jwt-go""github.com/gin-gonic/gin" )var …

【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序(万字博文)

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序&#xff08;万字博文&#xff09; 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制&#xff08;CRC算法、MD5算法&#xff09; 文章目…

密码学 | 承诺:绑定性 + 隐藏性

&#x1f951;原文&#xff1a;承诺方案&#xff08;Commitment&#xff09;学习笔记 &#x1f951;写在前面&#xff1a; 本文属搬运博客&#xff0c;自己留存学习。本文只会讲承诺的两个安全属性&#xff0c;不会再讲解承诺的定义。 正文 承诺方案需要满足两个安全属性&…

C++笔记:C++中的重载

重载的概念 一.函数重载 代码演示例子&#xff1a; #include<iostream> using namespace std;//函数名相同&#xff0c;在是每个函数的参数不相同 void output(int x) {printf("output int : %d\n", x);return ; }void output(long long x) {printf("outp…

手撕netty源码(一)- NioEventLoopGroup

文章目录 前言一、NIO 与 netty二、NioEventLoopGroup 对象的创建过程2.1 创建流程图2.2 EventExecutorChooser 的创建 前言 processOn文档跳转 本文是手撕netty源码系列的开篇文章&#xff0c;会先介绍一下netty对NIO关键代码的封装位置&#xff0c;主要介绍 NioEventLoopGro…

浅谈叉车车载电脑的市场现状

叉车的起源 叉车源于美国&#xff0c;兴于日本&#xff0c;虽然中国起步较晚&#xff0c;但是近些年来发展迅速。叉车又称叉式装载车&#xff0c;是对于成件托盘类货物进行装卸、堆垛和短距离运输&#xff0c;实现重物搬运作业的轮式工业车辆。 叉车的分类 叉车分为以上六大类…

OpenWrt上的docker容器无法访问外网解决

容器里能ping通OpenWrt的管理地址和wan口地址&#xff0c;但ping外网别的ip或域名就无法访问 简单修改设置就可以&#xff1a; Luci>网络>防火墙>转发&#xff1a;接受 ->保存应用

【Web】DASCTF X GFCTF 2024|四月开启第一局 题解(全)

目录 EasySignin cool_index SuiteCRM web1234 法一、条件竞争(没成功) 法二、session反序列化 EasySignin 先随便注册个账号登录&#xff0c;然后拿bp抓包改密码(username改成admin) 然后admin / 1234567登录 康好康的图片功能可以打SSRF&#xff0c;不能直接读本地文…

Hive安装部署

Apache Hive是一个基于Hadoop分布式文件系统、使用MapReduce算法执行大规模离线数据分析的数据仓库&#xff0c;本文主要描述Hive的安装部署。 如上所示&#xff0c;Hive总体应用架构图&#xff0c;其中&#xff0c;Hive基于HBase或者使用Hadoop分布式文件系统执行MapReduce的分…

Zephyr sensor子系统学习

一、背景 2023年7月份nRF Connect SDK 2.4.0最新版本&#xff0c;使用的Zephyr V3.3版本。从Zephyr 3.5版本在子系统中加入了sensing子系统。 现在最新的nRF Connect SDK 2.6.0 release支持v3.5.99-ncs1&#xff0c;已经支持sensing子系统 nRF52840现在官方支持两个传感器de…

yudao-cloud微服务系统系统模块+后台管理系统成功运行

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列文章目录 第一章 芋…

python基础知识—while和for循环(三)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 一&#xff1a;while循环1.1程序的三种执行流程1.2while循环1.3循环变量和死循环 二&#xff1a;for循环2.1for循环2.2range 一&…

OSI七层模型、TCP/IP五层模型理解(个人解读,如何理解网络模型)

OSI七层模型 七层模型&#xff0c;亦称OSI&#xff08;Open System Interconnection&#xff09;。参考模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模…

UVa12313 A Tiny Raytracer

UVa12313 A Tiny Raytracer 题目链接题意分析AC 代码 题目链接 UVA - 12313 A Tiny Raytracer 题意 给出 《训练指南》题意翻译 本题的任务是实现一个小型光线追踪渲染器。场景由若干三角形网格&#xff08;triangle mesh&#xff09;组成&#xff0c;有且仅有一个点光源&…

ESP32开发

目录 1、简介 1.1 种类 1.2 特点 1.3 管脚功能 1.4 接线方式 1.5 工作模式 2、基础AT指令介绍 2.1 AT指令类型 2.2 基础指令及其描述 2.3 使用AT指令需要注意的事 3、AT指令分类和提示信息 3.1 选择是否保存到Flash的区别 3.2 提示信息 3.3 其他会保存到Flash的A…

界面组件DevExpress Blazor UI v23.2 - 支持.NET 8、全新的项目模版

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验&#xff0c;这个UI自建库提供了一套全面的原生Blazor UI组件&#xff08;包括Pivot Grid、调度程序、图表、数据编辑器和报表等&#xff09;。 DevExpress Blazor控件目前已经升级…

RISC-V CVA6 在 Linux 下相关环境下载与安装

RISC-V CVA6 在 Linux 下相关环境下载与安装 所需环境与源码下载 CVA6 源码下载 首先&#xff0c;我们可以直接从 GitHub 一次性拉取所有源码&#xff1a; git clone --recursive https://github.com/openhwgroup/cva6.git如果这里遇到网络问题&#xff0c;拉取失败&#x…