两道C题题解,能推出来公式简直是无敌。

http://codeforces.com/problemset/problem/707/C

codeforces707C. Pythagorean Triples


这个题就是直角三角形的三条边,给你一条边的长度,让你输出其他两边的长度。

会发现有规律。当数为奇数时,就是平方除以2,然后另一边再加上1就可以。

偶数的时候一直除以2,直到4为止,然后特判就可以,再用一下快速幂就可以了。

代码:

 #include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
ll kuaisumi(int a,int b){
ll ans=;
while(b!=){
if(b%==)
ans=ans*a;
a=a*a;
b=b/;
}
return ans;
}
int main(){
ll n;
cin>>n;
if(n==||n==)cout<<"-1"<<endl;
else{
int num=;
while(n>&&n%==){
num++;
n/=;
}
//cout<<num<<endl;
ll cnt=kuaisumi(,num);
if(n%==)cout<<n*n/*cnt<<" "<<(n*n/+)*cnt<<endl;
else if(n%==)cout<<*cnt<<" "<<*cnt<<endl;
else if(n%==)cout<<*cnt<<" "<<*cnt<<endl;
}
}

Codeforces 707C. Pythagorean Triples-推公式的数学题的更多相关文章

  1. Codeforces 707C Pythagorean Triples(构造三条边都为整数的直角三角形)

    题目链接:http://codeforces.com/contest/707/problem/C 题目大意:给你一条边,问你能否构造一个包含这条边的直角三角形且该直角三角形三条边都为整数,能则输出另外 ...

  2. 【数学】Codeforces 707C Pythagorean Triples

    题目链接: http://codeforces.com/problemset/problem/707/C 题目大意: 给你一个数,构造其余两个勾股数.任意一组答案即可,没法构造输出-1. 答案long ...

  3. CodeForces 707C Pythagorean Triples (数论)

    题意:给定一个数n,问你其他两边,能够组成直角三角形. 析:这是一个数论题. 如果 n 是奇数,那么那两边就是 (n*n-1)/2 和 (n*n+1)/2. 如果 n 是偶数,那么那两边就是 (n/2 ...

  4. CodeForces 707C Pythagorean Triples

    数学,构造. 这题比较有意思,一开始没发现结论写了一个最坏复杂度为$O({10^9})$暴力居然能$AC$,正因为如此,我才发现了规律. 一开始是这么想的: 先假设$n$为直角边,设斜边长度为$c$, ...

  5. cf406E Hamming Triples (推公式)

    考虑某两行a和b的dis 如果相同:$|a-b|$ 如果不同:$n-|a-b|$ 然后考虑三行的dis,不妨设a>=b>=c 那么有4种情况: 1.a,b,c 0/1的种类相同:$|a-b ...

  6. codeforces 707C C. Pythagorean Triples(数学)

    题目链接: C. Pythagorean Triples time limit per test 1 second memory limit per test 256 megabytes input ...

  7. Codeforces Round #368 (Div. 2) C. Pythagorean Triples(数学)

    Pythagorean Triples 题目链接: http://codeforces.com/contest/707/problem/C Description Katya studies in a ...

  8. Codeforces Round #368 (Div. 2) C. Pythagorean Triples 数学

    C. Pythagorean Triples 题目连接: http://www.codeforces.com/contest/707/problem/C Description Katya studi ...

  9. codeforces 185A Plant(推公式)

    Plant [题目链接]Plant [题目类型]推公式 &题解: 这个是可以推公式的: 每年的总个数是4^n个,设n年时向上的个数是x个,向下的个数是y个,那么n+1年时,向上的个数是3* x ...

随机推荐

  1. [洛谷P1168]中位数(Splay)/(主席树)

    Description 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[2], -, A[2k - 1]的中位数.即前1,3,5,--个数的 ...

  2. Robo 3T

    开源,免费的MongoDB桌面管理工具. [官方地址] https://robomongo.org/ https://studio3t.com/

  3. secureCRT中vim行号下划线问题

    在vim中发现开启显示行号(set number)或语法高亮(syntax on)时,发现文档中很多地方都有下划线,对视觉产生极大干扰.开始还以为是vim的某个配置造成的,后来发现真正的元凶是secu ...

  4. Spring.Net初认识——竹子整理

    留个脚印,过两天总结. 看到知乎上有人对于DI|IOC 的解释,满不错,收藏下先 作者:OneNoodle链接:http://www.zhihu.com/question/23277575/answe ...

  5. Java的多态性Polymorphism

    原文地址:http://www.cnblogs.com/jack204/archive/2012/10/29/2745150.html Java中多态性的实现 什么是多态 面向对象的三大特性:封装.继 ...

  6. easyui的tree基本属性

    1.cascadeCheck,级联 默认情况下,是true,级联的,就是选中一个子节点,父节点是半选中状态,子节点全选中之后,父节点就是选中状态.   

  7. SQL Server 2014存储过程的备份和还原

    Sql Server 2014存储过程备份和恢复... 1 1.      备份存储过程:... 1 2.      还原... 8 Sql Server 2014存储过程备份和恢复 1. 备份存储过 ...

  8. algorithm 头文件

    非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_each() 查找 在序列中找出某个值的第一次出现的位置 find() 在序列中找出符合某谓词的第一个元素 find_if() ...

  9. 考研心得--一个差劲的ACMer

    考研心得   --ACMer(山东工商学院) 2019年2月20日星期三(正月十六),打开QQ音乐,播放<告别都市>,应同学要求,也是给自己奋斗一年多时间的“考研大业”一个交代,写下这篇考 ...

  10. MySQL Innodb表导致死锁日志情况分析与归纳

    发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志   案例描述在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时 ...