ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

洛谷 U140600 反正切命题

2020-11-17 15:35:33  阅读:231  来源: 互联网

标签:frac 反正 31 命题 arctan 洛谷 tan U140600


洛谷 U140600 反正切命题

洛谷传送门

题目背景

SeawaySeawa**y对之前的NOIP2020NOI**P2020模拟赛进行了细致而认真的反思。作为出题人,他觉得自己的题目非常容易让选手现场切题。为此,他进行了认真的研究,最终确定了新的命题方向:反正切命题。

为了更好地掌握反正切命题,SeawaySeawa**y决定先去研究一种函数:反正切函数。

题目描述

在数学的海洋里,SeawaySeawa**y了解到:

反正切函数不止可像高中数学课本那样计算。与一般的离散型函数相同,反正切函数也可展开成无穷级数,有如下公式:

\arctan(x) = \sum_{n = 0}^\infty \frac{(-1) ^ n x ^ {2n + 1}}{2n + 1} ( 0 \le x \le 1 )\tag{1}arctan(x)=n=0∑∞2n+1(−1)n**x2n+1(0≤x≤1)(1)

这样,反正切函数的计算就可以方便地被表示:例如,最简单的计算的方法:

\begin{aligned} \pi & = 4 \arctan(1) \ & = 4(1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} - \frac{1}{11} + \dots) \end{aligned} \tag{2}π=4arctan(1)=4(1−31+51−71+91−111+…)(2)

然而,可以看出,这种方法的效率很低,于是我们可以采用高中数学所学习的三角形和差角公式对其计算过程进行优化:

\tan(\alpha + \beta) = \frac{\tan(\alpha) + \tan(\beta)}{1 - \tan(\alpha) \tan(\beta)} \tag{3}tan(α+β)=1−tan(α)tan(β)tan(α)+tan(β)(3)

通过简单的变换得到:

\arctan(p) + \arctan(q) = \arctan(\frac{p + q}{1 - p q}) \tag{4}arctan(p)+arctan(q)=arctan(1−pqp+q)(4)

利用这个公式,令p = \frac{1}{2}, q = \frac{1}{3}p=21,q=31,则\frac{p + q}{1 - p q} = 11−pqp+q=1,有:

\arctan(\frac{1}{2}) + \arctan(\frac{1}{3}) = \arctan(\frac{\frac{1}{2} + \frac{1}{3}}{1 - \frac{1}{2} \cdot \frac{1}{3}}) = \arctan(1)arctan(21)+arctan(31)=arctan(1−21⋅3121+31)=arctan(1)

这样,我们就快速地计算出了11的反正切函数。

我们将公式44写成如下形式:

\arctan(\frac{1}{a}) = \arctan(\frac{1}{b}) + \arctan(\frac{1}{c})arctan(a1)=arctan(b1)+arctan(c1)

其中a, b, c \in \mathbb{N^+}a,b,c∈N+。

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

输入格式

从文件arctan.inarcta**n.i**n中读入数据。

一行一个整数aa

输出格式

输出到文件arctan.outarcta**n.out中。

一行一个整数ans=b+cans=b+c


命题背景:

爆你妈破啊爆破。

一场考试进行到一半

咕掉了T1

原因是因为爆破。

CNM(组合数)


题解:

前面就是一群废话,稍微有空读读题就能明白第一题多水。

谁见过考枚举的?

这回就考了。天上掉馅饼还不知道乐

毒NM瘤,爆NM破,

有理了这还?

代码:

#include<cstdio>
#define int long long
using namespace std;
int a,b,ans;
signed main()
{
	scanf("%lld",&a);
	for(b=a+1;b*(b-a)<=a*b+1;b++)
		if((b*b+1ll)%(b-a)==0)
			ans=(b*b+1ll)/(b-a);
	printf("%lld\n",ans);
	return 0;
}

标签:frac,反正,31,命题,arctan,洛谷,tan,U140600
来源: https://www.cnblogs.com/fusiwei/p/13994437.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有