Description

丢番图 是亚历山大时期埃及著名的数学家。他是最早研究整数系数不定方程的数学家之一。

为了纪念他,这些方程一般被称作丢番图方程。最著名的丢番图方程之一是 xn+yn=znx^n+y^n=z^n 。费马

提出,对于 n≥2n≥2 , xn+yn=znx^n+y^n=z^n 没有正整数解。这被称为“费马大定理”,它的证明直到最近才被安德

鲁·怀尔斯(Andrew Wiles)证明。

考虑如下的丢番图方程:

1x+1y=1n(x,y,n∈N∗)

\frac{1}{x}+\frac{1}{y}=\frac{1}{n}(x,y,n∈N^*)

小G 对下面这个问题十分感兴趣:对于一个给定的正整数n ,有多少种本质不同的解满足方

程(1)?例如 n=4n=4 ,有三种本质不同 (x≤y)(x\leq y) 的解:

15+120=14

\frac{1}{5}+\frac{1}{20}=\frac{1}{4}

16+112=14

\frac{1}{6}+\frac{1}{12}=\frac{1}{4}

18+18=14

\frac{1}{8}+\frac{1}{8}=\frac{1}{4}

Input

显然,对于更大的n ,没有意义去列举所有本质不同的解。你能否帮助小G 快速地求出对于给定n,满足方程(1)的本质不同的解的个数?

Output

一行,仅一个整数n( 1≤n≤10141\leq n\leq 10^{14} )。

Sample Input

4

Sample Output

3

Data Constraint

对于 30% 的数据, n≤105n≤10^5

对于 50% 的数据, n≤231n≤2^{31}

对于 100% 的数据, n≤1014n≤10^{14}

Solution

  • 这题的解法十分巧妙,推导过程十分机智啊!(赞口不绝~)

  • 对于方程:

    1x+1y=1n

    \frac{1}{x}+\frac{1}{y}=\frac{1}{n}

  • 去分母得:

    xy=xn+yn

    xy=xn+yn

  • 移项得:

    xy−xn−yn=0

    xy-xn-yn=0

  • 两边同时加 n2n^2 得:

    xy−xn−yn+n2=n2

    xy-xn-yn+n^2=n^2

  • 左边因式分解得:

    (x−n)(y−n)=n2

    (x-n)(y-n)=n^2

  • 所以,答案就是 n2n^2 的 约数个数/2(向上取整)!!!

  • 又根据定理可得:一个数的约数个数等于所有质因数的 次数+1 的乘积

  • 那么就这样边约边求即可!时间复杂度 O(N−−√)O(\sqrt{N})!

Code

#include<cstdio>
#include<cmath>
using namespace std;
long long n;
int sum;
int main()
{scanf("%lld",&n);long long m=sqrt(n),ans=1;for(int i=2;i<=m;i++)if(!(n%i)){for(sum=0;!(n%i);sum++) n/=i;ans*=sum<<1|1;if(n==1) break;}if(n>1) ans*=3;printf("%lld",(ans+1)>>1);return 0;
}

JZOJ 3158. 【JSOI2013】丢番图相关推荐

  1. JZOJ 3158 【JSOI2013】丢番图

    丢番图 题目大意 1x 1 \over x+ 1y 1 \over y= 1n 1 \over n 求上述方程的解的个数,n为常数. 数据范围 对于 100 100%的数据, n n≤101410^{ ...

  2. 丢番图(Diophantine)方程MATLAB求解

    丢番图(Diophantine)方程MATLAB求解   丢番图 (Diophantine) 方程在多项式中的一般形式为 A(z−1)X(z−1)+B(z−1)Y(z−1)=C(z−1)A(z^{-1 ...

  3. 丢番图生平编程java_丢番图与麦乐鸡购买问题

    在MIT公开课<计算机科学与编程导论>的Assignment2中,提到了丢番图方程,并有趣地将丢番图方程和卖麦乐鸡的问题联系到了一起. 首先让我们来看看维基百科中介绍的丢番图方程. 一.丢 ...

  4. 丢番图生平编程java_丢番图

    [拼音]:Diufantu [外文]:Diophantus (活动于250年前后) 希腊代数学家.对他的生平事迹人们知道得很少.但流传着一首短诗(或墓志铭),用谜语的形式叙述了他的生平:"丢 ...

  5. 丢番图与麦乐鸡购买问题

    在MIT公开课<计算机科学与编程导论>的Assignment2中,提到了丢番图方程,并有趣地将丢番图方程和卖麦乐鸡的问题联系到了一起. 首先让我们来看看维基百科中介绍的丢番图方程. 一.丢 ...

  6. 【P5253】丢番图【数论,数学】

    题目大意: 题目链接:https://www.luogu.org/problem/P5253 给出nnn,求1x+1y=1n\frac{1}{x}+\frac{1}{y}=\frac{1}{n}x1​ ...

  7. 3dmax如何显示参考图_3d效果图渲染丢材质、丢贴图该如何解决?

    我们在3d max渲染完成后,会突然发现某个模型的贴图丢了,哪里的材质也没有了.而造成这个现象的原因是什么,如果材质丢了怎么可以找回来? 针对这些问题,我们首先要明确3d max中常说的纹理.贴图.材 ...

  8. P5253-丢番图【数论】

    正题 题目链接:https://www.luogu.org/problem/P5253 题目大意 给一个nnn,求有多少对x,y(x≤y)x,y(x\leq y)x,y(x≤y)使得 1x+1y=1n ...

  9. 数学故事中的「蛋」和「母鸡」

    本文作者:殷堰工,江苏省中职首批正高级讲师.苏州大学硕士生导师.苏州科技大学兼职教授.曾结集出版个人已发表的论文 20 万字的<数学解题策略精编>(上海科技教育出版社,1994)及发表过的 ...

最新文章

  1. Go 语言编程 — 数据类型转换
  2. linux shell ls 输出存进数组变量
  3. Java程序员从笨鸟到菜鸟之(九十)跟我学jquery(六)jquery中事件详解
  4. Android入门教程免费获取
  5. server2016安装mysql_windows server2016安装MySQL5.7.19解压缩版教程详解
  6. 爬取及分析天猫商城冈本评论(二)数据处理
  7. SAP CRM和Cloud for Customer里客户主数据的层级维护
  8. 需求简报_代码简报:我如何通过做自己喜欢的事情来获得顶级技术实习
  9. iOS 将16进制字符串转换成UIColor
  10. mysql查询班级作业提交情况_MySQL中查询获取每个班级成绩前三名的学生信息
  11. Motion and Optical Flow
  12. pandas获取某行数据
  13. type python django models_Python菜鸟之路:Django ModelForm的使用
  14. 平衡车gazebo仿真
  15. RISC-V嵌入式开发入门篇2:RISC-V汇编语言程序设计(下)
  16. 终于搞定了stackoverflow的富文本编辑器pagedown
  17. print spooler 启动错误 1068依赖服务或组无法启动 解决方法
  18. Core Animation (1)
  19. Python DiffLib -- 文本内容对比
  20. Atom编辑器活跃用户突破一百万

热门文章

  1. Python科学画图小结
  2. Python进阶_wxpy学习:原始数据
  3. Android自定义控件(特效一) 点击屏幕,根据所点击的位置绘制圆环
  4. TMS320C6678上电配置和FPGA复位DSP
  5. 更改putty字体颜色
  6. 【Matlab】for循环进度条显示百分比进程和剩余时间
  7. SIFT四部曲之——高斯滤波
  8. [云炬创业管理笔记]第一章讨论3
  9. ado数据处理超时限制
  10. 多次Jquery引发head.insertBefore( script, head.firstChild );