poj1183 反正切函数
poj1183 反正切函数
第一道poj的题更博,类似于博主这种英文水平,也就切一切这种中文题了吧!
题目大意:给你正整数a,求满足条件的 b 和 c,使得 $\frac {1}{a}=\frac {\frac {1}{b}+\frac{1}{c}}{1-\frac {1}{b\cdot c}}$,且 b + c 的和最小。
注释:1<=a<=60,000
想法:乍一看,数论啊!嘻嘻嘻嘻,好开心,但是没做出来。问了一下神犇CK蛤学长,掌握了一种极猛的处理数论变换的方法。由题目所给的式子可以得到
$b\cdot c-1=a\cdot b+a\cdot c$
$\mathrm {\Rightarrow {(b-a)}\cdot c=a\cdot b+1}$
$\mathrm {\Rightarrow c=\frac{a\cdot b+1}{b-a}}$
$\mathrm {\Rightarrow c=\frac{a\cdot {(b-a+a)}+1}{b-a}}$
$\mathrm {\Rightarrow b+c=b+a+\frac{a^2+1}{b-a}}$
$\mathrm {\Rightarrow b+c=b-a+2\cdot a+\frac{a^2+1}{b-a}}$
设b-a为t
$\mathrm {\Rightarrow b+c=t+2\cdot a+\frac{a^2+1}t}$
得出
$\mathrm {f(t)=t+2\cdot a+\frac{a^2+1}t}$
之后枚举$a^2+1$的所有不大于$\sqrt{a^2+1}$的所有约数,找到最小的,更新即可
最后,附上丑陋的代码......
#include <iostream>
#include <cstdio>
#include <cmath>
typedef long long ll;
using namespace std;
int main()
{
int a;
while(~scanf("%d",&a))
{
ll all=(ll)a*a+;
ll k=(ll)(sqrt(all*1.0));
ll ans=1ll<<;
for(ll i=;i<=k;i++)
{
if(all%i==) ans=min(ans,i+all/i+*a);
}
printf("%lld\n",ans);
}
return ;
}
小结:这东西,码出来就不该有错吧......
转载请注明:http://www.cnblogs.com/ShuraK/p/7880273.html——未经博主允许,严禁转载
poj1183 反正切函数的更多相关文章
- poj1183 反正切函数的应用(水)
这一题主要是推导过程+注意一下范围. // 由公式4你可以得到: arctan(/a)=arctan[(/b+/c)/(-/b*c)] =>b*c-=a(b+c); 令 b=a+m,c=a+n; ...
- 2018.08.16 POJ1183反正切函数的应用(简单数学)
传送门 代数变形一波. 显然有b,c>a. 那么这样的话可以令b=a+m,c=a+n. 又有a=(bc-1)/(b+c). 带入展开可知m*n=a*a+1. 要让m+n最小只需让m最大,这个结论 ...
- [NOI2001]反正切函数的应用
Time Limit:1000ms Memory Limit:65536kB Description 反正切函数可展开成无穷级数,有如下公式 (其中0 <= x <= 1) 公式(1) 使 ...
- Openjudge/Poj 1183 反正切函数的应用
1.链接地址: http://bailian.openjudge.cn/practice/1183 http://poj.org/problem?id=1183 2.题目: 总时间限制: 1000ms ...
- 反正切函数atan与atan2的区别
atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2); 那么这两个点形成的斜率的角度计算方法分别是: float angle = atan ...
- Poj 4227 反正切函数的应用
Description 反正切函数可展开成无穷级数,有例如以下公式 (当中0 <= x <= 1) 公式(1) 使用反正切函数计算PI是一种经常使用的方法.比如,最简单的计算PI的方法: ...
- POJ 1183 反正切函数的应用
H - 反正切函数的应用 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit ...
- 反正切函数求圆周率 atan
#define PI atan(1.0)*4 原理:tan ∏/4=1; atan2: 返回给定的 X 及 Y 坐标值的反正切值.反正切的角度值等于 X 轴正方向与通过原点和给定坐标点 (Y坐标, X ...
- POJ 1183 反正切函数的应用(数学代换,基本不等式)
题目链接:http://poj.org/problem?id=1183 这道题关键在于数学式子的推导,由题目有1/a=(1/b+1/c)/(1-1/(b*c))---------->a=(b*c ...
随机推荐
- JavaScript中的indexOf
JavaScript中的indexOf 1.JavaScript中利用indexOf拼接字符串 <%@ page language="java" import="j ...
- freemarker写select组件报错总结(一)
1.具体错误如下 六月 25, 2014 11:26:29 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template pr ...
- 芝麻HTTP: Python爬虫入门之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- HTML5图片居中的问题
刚开始接触html5,准备写一些网页,但是学习的过程中遇到了图片不能居中的问题,首先来看看,代码和执行效果: <!DOCTYPE html> <html> <head&g ...
- VS2010 EXCEL2010 表格操作的编程实现
参考: http://blog.csdn.net/wxfy1977/article/details/3847450(另外一种实现方式,数据库方式) http://blog.csdn.net/evkj2 ...
- 【深入理解JVM】类加载器与双亲委派模型
原文链接:http://blog.csdn.net/u011080472/article/details/51332866,http://www.cnblogs.com/lanxuezaipiao/p ...
- Windows环境下使用python 3.x自带的CGI服务器测试cgi脚本--Python
1.在桌面上新建一个文件夹作为服务器目录文件夹(文件夹名称自定义,文件夹位置自定义),在www文件下再建一个文件夹,文件夹名为“cgi-bin”,须是这个文件名,其他试过不行(原因暂时未知)
- myeclipse 打开jsp文件出错
第一步:找到MyEclipse的安装路径:第二步:删除掉MyEclipse\configuration下名为:org.eclipse.update的文件夹:第三步:产出之后重启myeclipse,在打 ...
- 【BZOJ2002】弹飞绵羊(Link-Cut Tree)
[BZOJ2002]弹飞绵羊(Link-Cut Tree) 题面 题目描述 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lost ...
- 【BZOJ2734】【HNOI2012】集合选数(状态压缩,动态规划)
[BZOJ2734][HNOI2012]集合选数(状态压缩,动态规划) 题面 Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所 ...