首页 > 其他分享 >洛谷 CF707C Pythagorean Triples の 题解

洛谷 CF707C Pythagorean Triples の 题解

时间:2023-09-13 11:47:51浏览次数:48  
标签:CF707C 洛谷 奇数 题解 long Triples

这道题是一道数论题,不可用暴力通过,因为输入范围极大,基本上循环是不能在这道题上使用的了。

前面大佬们讲的我听不懂,于是在教练的帮助下,我利用题面给出的多组样例找到了规律。

在此之前,我们先设输入的数为 \(n\) 。

\(n\) 分三种情况。

  • \(n\) 是奇数;
  • \(n\) 是偶数;
  • \(n\) 小于等于 \(2\);

首先咱们必须把 \(n\) 小于等于 \(2\) 的这种情况清除掉,众所周知,这种数是不可能存在解的,于是直接输出 -1 并结束程序即可。

之后咱们再看 \(n\) 是奇数这种情况,不难发现,输出的第一个数等于 \(n ^ {2} \div 2\),而第二个数则是 \((n ^ {2} \div 2) + 1\) 。

\(n\) 若是偶数则将其除以 \(2\) 转化为奇数,之后输出时乘以 \(2\) 即可。

代码如下

#include <iostream>
using namespace std;
long long n;
int main(){
   cin >> n;
   if(n <= 2){
       cout << -1;
       return 0;
   }
   if(n % 2 != 0) cout << ((n * n) / 2) << " " << ((n * n) / 2) + 1;
   else{
       n /= 2;
       cout << (n * n) - 1 << " " << (n * n) + 1;
   }
   return 0;
}

记录

标签:CF707C,洛谷,奇数,题解,long,Triples
From: https://www.cnblogs.com/NFGase/p/17699154.html

相关文章

  • 洛谷 P9503『MGOI』Simple Round I | B. 魔法照相馆 の 题解
    这道题是一道模拟题,坑点不多,但是细节特多,所以导致大部分人\(A\)不了这道题。这道题我也写了注释,如果思路没明白可以看代码和注释的。先创建一个长度为\(3\)的字符串\(s1\),这个字符串的意思就是模拟现在的这几个幕布的情况,这里分了四个字符代表着四种情况,详细如下该字符串......
  • 洛谷 P9502 『MGOI』Simple Round I | A. 魔法数字 の 题解
    直接用pow()函数暴力判断即可,一旦不符合条件就立即跳出循环,要注意开longlong或unsignedlonglong。#include<iostream>#include<cmath>usingnamespacestd;unsignedlonglongn,num;intmain(){cin>>n;for(unsignedlonglongi=2;i<=n;i+=......
  • 洛谷 UVA10852 Less Prime の 题解
    这道题更像是结论题,因为他要推一个小结论,才能做出这道题。大概思路是先打个素数表,存到数组\(a\)内,\(cnt\)是素数表的最后一个元素的下标。之后循环\(M\)次去输入\(N\),每次输入\(N\)之前都要定义两个变量,分别是\(mx\),存\(n-p\cdotx\)的最大值,\(ans\)则是当\(n-......
  • 洛谷 UVA10714 Ants の 题解
    这道题只有一个点比较难想。大概思路就是先输入个$t$,表示要跑几轮,后面的照常输入。因为蚂蚁都是一样的,所以两个蚂蚁碰面的时候相互穿过和各自掉头是没有区别的,我们按照前者模拟就好,其余思路暴力求解即可。#include<iostream>#include<cmath>usingnamespacestd;intt;in......
  • 洛谷 AT_past202005_i 行列操作 の 题解
    这道题最难的点在于用什么方法存储矩阵$a$和一个特殊的操作方式。要存矩阵$a$,最先想到的是二维数组,但是二维数组开不到$1\len\le10^5$,所以可以用一个长度为$2\cdotn$的一维数组$m$来存。当$i\len$时,让一维数组$m_{i}$负责存第$i$行的内容;而当$n+1\lei......
  • 洛谷 AT_maximum_cup_2018_a フィギュアスケート界の貴公子埼大選手 の 题解
    这道题是一道水题,所以你的代码很可能与我相似或相同,如果你的代码出现了问题,你很可能在我的题解里找出答案。这道题大概思路是一旦$10$秒后运动员会接触到毛绒玩具,那么就加上在这个点上毛绒玩具的数量。但是!这道题有一道巨坑的点!由于这道题比较远古,所以说你即使是正解,你也要在......
  • 【题解】Educational Codeforces Round 141(CF1783)
    评价:educationalA.MakeitBeautiful题目描述:如果一个数组中存在一个数恰好等于该数前面所有数之和,那么这个数组就是丑的。如果一个数组不是丑的,就是美的。比如说:数组$[6,3,9,6]$是丑的,因为\(9=6+3\);数组$[5,5,7]$是丑的,因为第二个\(5=5\)。数组$......
  • 【题解】DP选练(23.9.11 - 23.9.12)
    一些写过题解的题我就直接挂连接了。[NOIP2018提高组]货币系统题目描述:在网友的国度中共有\(n\)种不同面额的货币,第\(i\)种货币的面额为\(a[i]\),你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为\(n\)、面额数组为\(a[1..n]\)的货币系统记作\((n,a)\)。......
  • [题解]AT_arc116_b [ARC116B] Products of Min-Max
    思路我们容易可以得到一个朴素的做法,首先对\(a\)数组排序,然后枚举最大值和最小值\(a_i,a_j\),那么对于中间的元素都有选与不选两种情况,得到答案:\[\sum_{i=1}^{n}(a_i\timesa_i+(\sum_{j=i+1}^{n}a_i\timesa_j\times2^{j-i-1}))\]然后对这个式子做一个化简:......
  • 【Flink系列十八】HDFS_DELEGATION_TOKEN过期的问题解决汇总
    问题类别Spark框架自身的问题Hadoop全家桶的问题开发者通过Hive,HDFS,HBASE访问HDFS的问题排查已知Hadoop-common-2.6.0的UGI存在bug,代码为HADOOP-10786,该问题在CDH发行版中已经修复,但Apache版本存在问题。已知HDFS也存在一个HDFS_DELEGATION_TOKEN过期的bug,代码为HDFS-9......