[lnsyoj1107] 统计

题意

给定 \(L\),求所有不超过 \(L\) 且满足 \(\exist n,m > 0,n^3+pn^2=m^3\) 的质数的个数

sol

因式分解,可得 \(n^2(n+p) = m^3\)
\(n^2\)\(n+p\) 都含有质因子 \(p\),则设 \(n = kp\),那么 \(n+p = (k+1)p\)
则有 \(k^2(k+1)p^3=m^3\),可得 \(k^2(k+1)\) 一定为立方数,由于 \(k^2\)\(k+1\) 互质,所以 \(k^2\)\(k+1\) 均为立方数,由于 \(k^2\) 是一个平方数,所以 \(k\) 为立方数,那么 \(k+1\) 不可能为立方数,矛盾,因此 \(n^2\)\(n+p\) 不可能都含有质因子
设两者都含有质因子 \(q\),则 \(n\) 含有质因子 \(q\),那么 \(p\) 含有质因子 \(q\),由于 \(p\) 是质数,所以不可能存在其他质因子,矛盾,因此 \(n^2\)\(n + p\) 互质。
由于 \(m^3\) 是一个立方数,因此 \(n^2\)\(n + p\) 都为立方数,因为 \(n^2\) 是平方数,那么 \(n\) 也为立方数,设 \(n=x^3,n+p=y^3\),那么 \(p=y^3 - x^3 =(y-x)(y^2+xy+x^2)\),由于 \(p\) 是质数,那么 \((y-x)\)\((y^2+xy+x^2)\) 中,有一个值为 \(1\),一个值为 \(p\),若 \(y^2+xy+x^2 = 0\),则 \(x=0,y=1\)\(x=1,y=0\),而 \(x>0,y>0\),所以 \(y-x=1\),则 \(y=x+1\)。代入可得 \(p=(x+1)^2+x(x+1)+x^2=3x^2+3x+1\),考虑到这个值可能不为质数,因此还要判断质数。

代码

#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;
typedef long long LL;int L;LL f(int z){return (LL) 3 * z * z + 3 * z + 1;
}bool is_prime(int x){if (x == 1) return false;for (int i = 2; i <= x / i; i ++ )if (x % i == 0) return false;return true;
}int main(){scanf("%d", &L);int ans = 0;for (int z = 1; ; z ++ ){if (f(z) > L) break;ans += is_prime(f(z));}printf("%d\n", ans);
}

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

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

相关文章

[Nuxt] Rendering mode

A Nuxt app can be rendered in various modes. The default standard mode is simply called SSR. Specifically, it means Server-Side Rendering on request. “on request” means whenever the user clicks on an external link or enters a URL in the address bar to ac…

ASP.NET Core 中,认证(Authentication)和授权(Authorization)

在 ASP.NET Core 中,认证(Authentication)和授权(Authorization)是两个非常重要的概念。它们确保用户能够安全地访问应用程序,并且在访问过程中能按其权限被正确地控制。接下来,我将详细解释这两个概念,并且如何在 ASP.NET Core 中实现它们。 1. 认证(Authentication)…

ASP.NET Core 中,Cookie 认证在集群环境下的应用

在 ASP.NET Core 中,Cookie 认证在集群环境下的应用通常会遇到一些挑战。主要的问题是 Cookie 存储在客户端的浏览器中,而认证信息(比如 Session 或身份令牌)通常是保存在 Cookie 中,多个应用实例需要共享这些 Cookie 信息,以便用户在集群中各个实例间无缝切换。 1. 集群…

ASP.NET Core 中使用 Cookie 身份验证

在 ASP.NET Core 中使用 Cookie 身份验证,通常是为了实现用户的登录和授权。以下是配置 Cookie 身份验证的步骤。 1. 安装必要的 NuGet 包 首先,确保项目中包含 Microsoft.AspNetCore.Authentication.Cookies 包。你可以通过 NuGet 包管理器或命令行安装它: dotnet add pack…

GDB调试(一)

GDB调试 GDB简介 GDB的功能 GDB(GNU Debugger)是用于调试 C、C++ 等语言的强大工具。它允许开发者执行以下操作:启动程序并按照预期条件暂停(如断点处)。 检查程序中的变量和内存状态。 单步执行代码,观察每一步的变化。 修改运行中的变量值以测试不同的假设。 调试程序崩…

Nginx 粘性会话配置与实现详解

**Nginx 粘性会话(Sticky Session)**是指将同一个客户端的请求始终路由到相同的后端服务器,确保该客户端的多个请求在同一个会话期间都由同一台服务器处理。粘性会话通常在负载均衡环境中使用,特别是当应用程序依赖于在同一会话中保持用户状态(例如购物车、登录会话等)时…

ASP.NET Core 中,操作过滤器(Action Filters)

在ASP.NET Core 中,操作过滤器(Action Filters)用于在控制器的操作方法执行之前或之后执行自定义逻辑。操作过滤器主要用于在请求到达控制器方法之前进行处理(例如:验证请求参数、设置数据)、在操作执行后处理响应(例如:记录日志、修改响应结果)等。 操作过滤器的工作…

ASP.NET Core 中间件(Middleware)

在ASP.NET Core 中,中间件是用来处理 HTTP 请求和响应管道的组件。中间件的核心思想是通过一个链式的管道处理请求和响应,每个中间件既可以处理请求或响应,也可以将其传递给下一个中间件。以下是详细解释:1. 中间件是什么? 中间件是一个软件组件,用于在 HTTP 请求到达应用…

elf2部署官方yolov5模型

ELF2开发板(飞凌嵌入式)搭建深度学习环境部署(RKNN环境部署)本人主要介绍用于elf2的rk3588开发板的深度学习环境的搭建,和官方的方法不同,对于新手比较友好。零基础即可搭建,本人使用的是WSL2系统,当然使用虚拟机也是可以的,本人主要教学搭建yolov5模型转换为rknn的环…

ASP.NET Core 中授权过滤器(Authorization Filters)

在ASP.NET Core 中,授权过滤器(Authorization Filters)是用于在请求到达控制器操作方法之前,验证用户是否具有执行该操作的权限的一种机制。授权过滤器的主要作用是确保用户在访问控制器或操作方法时,已通过身份验证并且有足够的权限。 授权过滤器的工作原理 授权过滤器在…

Roo Code插件搭配DeepSeek快速创建项目示例

一、环境准备 1. 安装VSCode 访问 Visual Studio Code官网 下载并安装最新版本 2. 安装IDEA(运行Java项目) 访问IDEA官网下载并安装最新Community社区版二、Roo Code插件配置 1. 安装插件打开VSCode扩展市场(Ctrl+Shift+X) 搜索 "Roo Code" 安装官方插件(确认发…

电子书查找阅读教程

免责声明本文仅作学习交流,对于喜欢的作者,建议支持正版。软件下载Github发布地址:https://github.com/gedoor/legado/releases 完整教学:https://www.yuque.com/legado/wiki/xz直接浏览器打开选择最新版本下载即可书源导入喵工资订阅源:https://dy.miaogongzi.cc/直接浏览…