Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本題就一個公式
n^2+((n^2-1)/2)^2=((n^2+1)/2)^2
0.當n==1或n==2時,不存在結果。
1.當n為奇數時此公式求得的數還是整數,成立
2.當n為偶數時分兩種情況:
(1)n/2變為奇數(n%4!=0),則套用1
(2)n/2還是偶數(n%4==0),則套用4的倍數(3 4 5)來求得結果.
?
#include<iostream> #include<cstdio> using namespace std; int main() {long long int n,a,b;while(~scanf("%I64d",&n)){if(n==1||n==2)printf("-1\n");else if(n%4==0)printf("%I64d %I64d\n",n/4*3,n/4*5);else if(n%2==0){n/=2;printf("%I64d %I64d\n",2*(n*n/2),2*(n*n/2+1));}elseprintf("%I64d %I64d\n",n*n/2,n*n/2+1);} }?
轉載于:https://www.cnblogs.com/bestwzh/p/6056353.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打印函数调用堆栈
- 下一篇: MacOS中使用QT开发iOS应用