poj 1183 反正切函数的应用 数学推导

2024-08-28 17:32

本文主要是介绍poj 1183 反正切函数的应用 数学推导,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

反正切函数可展开成无穷级数,有如下公式 

(其中0 <= x <= 1) 公式(1) 

使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法: 

PI=4arctan(1)=4(1-1/3+1/5-1/7+1/9-1/11+...) 公式(2) 

然而,这种方法的效率很低,但我们可以根据角度和的正切函数公式: 

tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)] 公式(3) 

通过简单的变换得到: 

arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)] 公式(4) 

利用这个公式,令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有 

arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/2*1/3)]=arctan(1) 

使用1/2和1/3的反正切来计算arctan(1),速度就快多了。 
我们将公式(4)写成如下形式 

arctan(1/a)=arctan(1/b)+arctan(1/c) 

其中a,b和c均为正整数。 

我们的问题是:对于每一个给定的a(1 <= a <= 60000),求b+c的值。我们保证对于任意的a都存在整数解。如果有多个解,要求你给出b+c最小的解。 

Input

输入文件中只有一个正整数a,其中 1 <= a <= 60000。

Output

输出文件中只有一个整数,为 b+c 的值。

Sample Input

1

Sample Output

5
#include<stdio.h>
int main()
{long long a,i;scanf("%lld",&a);for(i=a; i>=1; i--){if((a*a+1)%i==0)break;}
printf("%lld\n",i+(a*a+1)/i+a+a);return 0;
}
arctan1/a=arctan1/b+arctan1/c;
(b+c)/(b*c-1)=1/a;
{b=m+a;c=n+a;
}
{m=b-a;n=c-a;
}

这道题目还真的不会后来问了问奇哥才知道
大体的化简步骤是这样的
arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)] 公式(4) 
arctan(1/a)=arctan(1/b)+arctan(1/c) 
(b+c)/(b*c-1)=1/a;
{
    b=m+a;
    c=n+a;
}
{
    m=b-a;
    n=c-a;
}
a(m+n+2*a)=n*m+a(m+n)+a*a+1;
(a*a+1)/m=n'
因为一定有结果所以
(a*a+1)/m=0;
b+c=m+(a*a+1)/m+a+a;

这篇关于poj 1183 反正切函数的应用 数学推导的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115423

相关文章

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一