题目描述

给定一个素数,试判断能否将该素数写为b3−a3

的形式,a,b皆为非负整数。

输入

多组输入

每行一个素数P (2≤P≤1015)

 

输出

若可以分解输出a,b(a<b)

,不能输出-1 -1;

样例输入

19

样例输出

2 3

题解:用公式降幂:a3-b3=(a-b)(a2+b2+ab);
因为a3-b3=素数,所以a-b=1;
所以解a2+b2+ab=p就行
注意:用cin,cout会超时
#include <iostream>
#include<stdio.h>
#include <math.h>
#include <string.h>
#define ll long long
using namespace std;
int main()
{
ll p, st;
double t;
while (~scanf("%lld", &p))
{
st = - * * ( - p);
t = sqrt(st);
int tt;
tt=(int)t;
if(t!=tt)
printf("-1 -1\n");
else
{
int x1;
x1 = (- + tt) / ;
printf("%d %d\n",x1,x1+); }
}
return ;
}
												

B: Break Prime的更多相关文章

  1. Project Euler:Problem 77 Prime summations

    It is possible to write ten as the sum of primes in exactly five different ways: 7 + 3 5 + 5 5 + 3 + ...

  2. Project Euler 50 Consecutive prime sum

    题意: 素数41可以写成六个连续素数的和: 41 = 2 + 3 + 5 + 7 + 11 + 13 在小于一百的素数中,41能够被写成最多的连续素数的和. 在小于一千的素数中,953能够被写成最多的 ...

  3. O(n)线性筛选n以内的素数

    O(n)线性筛选n以内的素数 (1)对于任何一个素数p,都不可能表示为两个数的乘积 (2)对于任何一个合数m = p1a1p2a2…pmam,这里p1< p2 < … <pm,都能使 ...

  4. O(n) 筛法求素数

    var tot,i,j,k,m,n:longint; prime:array[0..100000] of boolean; p:array[0..100000] of longint;begin re ...

  5. Codeforces 665D Simple Subset [简单数学]

    题意: 给你n个数,让你从中选一个子集要求子集中的任何两个数相加都是质数. 思路: 一开始把自己坑了,各种想,后来发现一个简单的性质,那就是两个数相加的必要条件是这两个数之中必定一个奇数一个偶数,(除 ...

  6. POJ 2154 【POLYA】【欧拉】

    前记: TM终于决定以后干啥了.这几天睡的有点多.困饿交加之间喝了好多水.可能是灌脑了. 切记两件事: 1.安心当单身狗 2.顺心码代码 题意: 给你N种颜色的珠子,串一串长度问N的项链,要求旋转之后 ...

  7. 【BZOJ3529】【莫比乌斯反演 + 树状数组】[Sdoi2014]数表

    Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为 能同时整除i和j的所有自然数之和.给定a,计算数表中不大于 ...

  8. 【BZOJ3884】【降幂大法】上帝与集合的正确用法

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“元” ...

  9. 【POJ2886】【线段树】Who Gets the Most Candies?

    Description N children are sitting in a circle to play a game. The children are numbered from 1 to N ...

随机推荐

  1. .net 自定义AOP,透明代理与真实代理

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  2. windows server2012安装jdk时报错误代码1603

    解决方法:在控制面板中将其卸载,把jdk8换成jdk7就可以安装上了

  3. ubuntu 16.04快速建lvm

    1.准备2块虚拟硬盘 在执行下面之前先安装:lvm和mkfs.xfs apt install lvm2 -y apt install xfsprogs dd if=/dev/zero of=ceph- ...

  4. org.slf4j.impl.SimpleLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext

    查看日志信息: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/app/a ...

  5. xfce4快捷键设置

    xfce4的"Keyboard"可以方便的设置启动应用程序的快捷键. 例如,添加xfce4-terminal和emacs的启动快捷键 Alt+F3打开"Applicati ...

  6. Hadoop的Windows伪分布式学习

    解压hadoop-2.7.2.zip,不是tar.gz,前者是Windows所用的 解压到路径,设置环境变量 HADOOP_HOME=E:\hadoop-2.7.2\ HADOOP_USER_HOME ...

  7. elasticsearch常用JAVA API 实例

    1.引入dependency <dependency> <groupId>org.springframework.data</groupId> <artifa ...

  8. nginx+tomcat实现动静态分离

    ===============Tomcat 概述: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache ...

  9. ResorceGovernor--基础和Demo

    资源调控器分为三部分:1:资源池,将资源CPU/MEMORY划分到不同的载体上2:负载组,承载负载并将负载映射到不同的资源池3: 分类函数,将不同回话映射到不同的负载组08提供两种预定义的系统资源池1 ...

  10. C++构造和析构的顺序

    C++构造函数和析构函数的顺序 #include <iostream> using namespace std; class CA {public: CA() { cout << ...