K-消亡的质数-(简单数学)
2024-09-06 10:00:43
https://ac.nowcoder.com/acm/contest/3346/K
题意:判断一个素数p是不是某两个数的立方差。
刚看到这道题一时半会都没有什么思路,看了题解恍然大悟,太久没碰数学或数论的,记录一下过程。
1.立方差公式:x3 - y3 = (x-y)(x2 + xy + y2)
2.(x-y)(x2 + xy + y2)=p
3.因为p是素数,所以x-y=1
4.将x=y+1带入原公式化简得 3y(y+1)=p-1
5.要使上式成立,(p-1)%3==0 && sqrt((p-1)/3) * (sqrt((p-1)/3)+1) == (p-1)/3
import java.util.Scanner; public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n;
n=scan.nextInt();
long p;
while(n!=0) {
n--;
p=scan.nextLong();
if((p-1)%3==0) {
p=(p-1)/3;
long y=(long)Math.sqrt(p);//向下取整
if(y*(y+1)==p)
System.out.println("YES");
else
System.out.println("NO"); }else
System.out.println("NO");
}
}
}
最新文章
- CRC循环冗余校验码总结(转)
- 用html5 js实现浏览器全屏
- yii2权限控制rbac之菜单menu最详细教程
- 关于WII光枪定位的设计(转)
- 初次接触Object对象变量
- 数学概念——A 几何概型
- MySQL入门转载
- 百度地图API的自动定位路线查询
- 在ubuntu下设置eclipse开发STM32等嵌入式设备
- Dynamics CRM 系统自定义部分的语言翻译
- postgresql设置主键
- masstree Seastar
- Ulua对象管理方式
- 20175310 迭代和JDB
- 可视化数据matplotlib之安装与简单折线图
- swift学习笔记之控制流
- 预备作业03:虚拟机安装及Linux操作系统练习
- Selenium WebDriver(Python)API
- PyCharm添加Selenium与Appium类库
- MongoDB安装配置及使用
热门文章
- Gson的序列化和反序列化-待更新
- 记MacOs视频mov与mp4格式转换问题解决
- Noip2016Day1T2 天天爱跑步
- oracle查询字段重复数据
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) C. Messy 构造
- 【agc028E】High Elements(动态规划,线段树,贪心)
- 机器学习常见的几种评价指标:精确率(Precision)、召回率(Recall)、F值(F-measure)、ROC曲线、AUC、准确率(Accuracy)
- Java 小游戏 - 井字棋 v1.0 (初步完成) (2018.4.16更新)
- Add a Class from the Business Class Library 从业务类库添加类 (XPO)
- Python使用APScheduler实现定时任务