HDU 6216 A Cubic number and A Cubic Number 公式/打表 [2017 ACM/ICPC Asia Regional Qingdao Online]_2nd cubic number-程序员宅基地

技术标签: ACM_数论  

题目链接

Problem Description

A cubic number is the result of using a whole number in a multiplication three times. For example, 3×3×3=27 so 27 is a cubic number. The first few cubic numbers are 1,8,27,64 and 125. Given an prime number p. Check that if p is a difference of two cubic numbers.

Input

The first of input contains an integer T (1≤T≤100) which is the total number of test cases.
For each test case, a line contains a prime number p (2≤p≤1012).

Output

For each test case, output ‘YES’ if given p is a difference of two cubic numbers, or ‘NO’ if not.

Sample Input

10
2
3
5
7
11
13
17
19
23
29

Sample Output

NO
NO
NO
YES
NO
NO
NO
YES
NO
NO

可以根据b^3-a^3和素数条件推出b+a=n,则可以推出公式n = 3*i*i+3*i+1
然后再打表

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int T;
vector<ll> ans;
ll n;
int main()
{
//    freopen("data.txt","r",stdin);
    for(ll i=0;i<1000005;i++)
    {
        ans.push_back(3*i*i+3*i+1);
    }
    int len = ans.size();
    scanf("%d", &T);
    while(T--)
    {
        scanf("%lld",&n);
        if(!binary_search(ans.begin(),ans.end(),n))
        {
            printf("NO\n");
        }
        else
        {
            printf("YES\n");
        }
    }
    return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chudongfang2015/article/details/78039034

智能推荐

gpio子系统和pinctrl子系统(中)_pinctrl_add_gpio_range-程序员宅基地

文章浏览阅读797次。转载地址:http://www.cnblogs.com/rongpmcu/p/7662755.htmlpinctrl子系统核心实现分析pinctrl子系统的内容在drivers/pinctrl文件夹下,主要文件有(建议先看看pinctrl内核文档Documentation/pinctrl.txt):core.cdevicetree.cpinconf.cpinmux.cpinctrl-xxx.cco..._pinctrl_add_gpio_range

如何解决Golang获取google.golang.org/protobuf包报错的问题-程序员宅基地

文章浏览阅读3.1k次。今天在重新运行之前的老项目时,..._google.golang.org/protobuf

我的Android进阶之旅------>Android实现数据存储技术_android getcache(uri key)-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏4次。本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 网络存储数据下面将为大家一一详细介绍。第一种: 使用SharedPr_android getcache(uri key)

C语言生成随机字符数_c语言编译器 getrandom替代函数-程序员宅基地

文章浏览阅读1.6k次。首先要了解一下随机函数random,rand,srand:random返回一个0~num-1之间的随机数.random(num)是在stdlib.h中的一个宏定义.,num和函数返回值都是整型数.int rand(void),返回一个[0,RAND_MAX]间的随机整数.void srand(unsigned seed),参数seed是srand()的种子,用来初始化srand()的起..._c语言编译器 getrandom替代函数

绕过pb,直接用windows的tftp download-程序员宅基地

文章浏览阅读69次。今天在新闻组上看到这样的内容,就试了一下。果然可以。现在我是把target machine当作tftp server。由于不用pb download,所以必须disable kitl,disable kernel debugger.最好release version.1) copy the public\common\oak\ethdbg\eboot­\ into platform\<..._wince6 pb download nk

HDU5748-Bellovin【最长上升子序列的变形】-程序员宅基地

文章浏览阅读159次。Sample Input311055 4 3 2 131 3 5 Sample Output11 1 1 1 11 2 3给一个序列,求出每个位置结尾的最长上升子序列;然后找一个字典序最小的这个函数值相同的子序列; #include #include #include using namespace std;

随便推点

2021级-JAVA07 常用类(字符串)_7-3 sdut-string-1 识蛟龙号载人深潜,立科技报国志(1)-程序员宅基地

文章浏览阅读1.7k次,点赞7次,收藏14次。其中data[]是传入的参数。data[]中的每一个元素都是一个完整的人员信息字符串,该字符串由“姓名,性别,年龄,民族”,各项之间用英文半角的逗号分隔。函数须返回 值是汉族的人数。_7-3 sdut-string-1 识蛟龙号载人深潜,立科技报国志(1)

Java网络编程(网络基础(IP&端口号&网络通信协议)、TCP编程、UDP编程和URL编程原理以及常用方法的实例)_isreachable java 实现原理-程序员宅基地

文章浏览阅读893次,点赞3次,收藏17次。网络编程网络基础概述计算机网络:  把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。网络编程的目的:​ 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。网络编程中有两个主要的问题:如何准确地定位网络上一台或多台主机;定位主机上的特定的应用。..._isreachable java 实现原理

linux 清日志命令,清除Linux日志文件命令-程序员宅基地

文章浏览阅读1.8k次。Linux下自动清除MySQL日志文件MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days= ...linux日志文件linux日志文件 在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. /var/log/..._日志清屏

php保留数字小数点后两位方法_php小数点保留2位-程序员宅基地

文章浏览阅读9.3k次,点赞5次,收藏9次。4、使用sprintf四舍五入保留小数点后两位,自动补充后面0,主要应用显示金额场景。5、高精度函数不四舍五入保留小数点后两位,自动补充后面0。3、使用floor向下取整不四舍五入保留小数点后两位。2、使用ceil向上取整四舍五入保留小数点后两位。1、使用round四舍五入保留小数点后两位。6、高精度函数四舍五入保留小数点后两位。_php小数点保留2位

实验2 运算器的编程实现_编写程序实现运算测试器(计算机2.0))-程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏16次。实验2 运算器的编程实现一、实验目的1、加深对计算机中运算器的基本概念、运算方法和基本原理的理解。2、提高学生对计算机编程语言掌握的熟练程度。二、实验内容运用一种编程语言实现计算器的基本功能。_编写程序实现运算测试器(计算机2.0))

Win10系统中如何禁止某个程序联网_win10关闭应用联网权限-程序员宅基地

文章浏览阅读2.3k次。有时候我们在使用win10系统的时候,想禁用某个程序联网,怎么禁用呢,下面来分享一下方法教程:第一步在win10系统上打开控制面板,以小图标的方式显示,点击Windows Defender防火墙,第二步进去之后,选择高级设置,第三步在高级安全Windows Defender防火墙中点击出站规则,然后点击右侧的新建规则,第四步进去新建出站规则向导界面之后,选中程序,点击下一步,第五步选择此程序路径,将要禁用联网的程序的路径选择上,点击下一步,第六步选择阻止连接,然后一直点击下一步,给规则取一个_win10关闭应用联网权限