nitacm20301 poor math
题目:给你一个n(1<=n<=1,000,000,000,000 ),找到满足1/n=1/a+1/b(0<a<=b)的数量。
题目链接:https://www.nitacm.com/problem_show.php?pid=20301
题意转换:
①不知道干啥先打表找规律
int n,cnt=;
cin>>n;
for(int i=;i<=;i++)//枚举a
{
for(int j=i;j<=;j++)//枚举b
{
if(n*(i+j)==i*j)cout<<i<<" "<<j<<endl,cnt++;
}
}
cout<<cnt<<endl;
n=6时,cnt=5,分别为(7,42),(8,24),(9,18),(10,15),(12,12)。
顺便打下前20的答案用作验证:
1 2 2 3 2 5 2 4 3 5 2 8 2 5 5 5 2 8 2 8 5
②之后开始推公式
/n=/a+/b
/n=(a+b)/ab
ab=(a+b)n
ab=an+bn
ab-bn=an
b(a-n)=an
b=an/(a-n)
设i=a-n,即a=i+n
b=(n+i)*n/i
b=n*n/i+n
由题意可知a>n(i>),已知a<=b(i+n<=n*n/i+n)
同减n,i<=n*n/i
同乘i,i*i<=n*n,
i<=n
至此得到条件i∈[,n]
又已知a,b为整数,所以n*n/i需要为整除
满足条件的a和b需要满足:i在范围内,n*n/i为整数
题意转换:1到n中有多少个n*n的因子
③d=====( ̄▽ ̄*)b
题意好像十分明了了(就是不会做)。
暴力的复杂度为sqrt(n*n),与欧拉函数找不出关联,题目的突破点在于n*n(平方数的因子),并且求的是因子数,而不是具体哪些因子。
需要一点前导知识:
https://blog.csdn.net/qq_40679299/article/details/80583222
100=2*2*5*5,有(1+2)*(1+2)个因子
50=2*5*5,有(1+1)*(1+2)个因子
54=2*3*3*3,有(1+1)*(1+3)个因子
30=2*3*5,有(1+1)*(1+1)*(1+1)个因子
nitacm20301 poor math的更多相关文章
- hdu4888 Redraw Beautiful Drawings 最大流+判环
hdu4888 Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/6553 ...
- HDU4888 Redraw Beautiful Drawings(最大流唯一性判定:残量网络删边判环)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4888 Description Alice and Bob are playing toget ...
- Price List
Price List Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others)Tota ...
- HDU 4888 Redraw Beautiful Drawings(最大流+判最大流网络是否唯一)
Problem Description Alice and Bob are playing together. Alice is crazy about art and she has visited ...
- HDU4888 Redraw Beautiful Drawings(2014 Multi-University Training Contest 3)
Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- freemaker自定义分页控件实现
<link href="${res}/css/pages-jhdb.css" rel="stylesheet" type="text/css&q ...
- HDU Redraw Beautiful Drawings 推断最大流是否唯一解
点击打开链接 Redraw Beautiful Drawings Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 ...
- 【HDU 5808】 Price List Strike Back (整体二分+动态规划)
Price List Strike Back There are nn shops numbered with successive integers from 11 to nn in Bytelan ...
- Best Coder #86 1001 Price List(大水题)
Price List Accepts: 880 Submissions: 2184 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 26214 ...
随机推荐
- 开启docker中的mongodb认证授权
前言: 开启MongoDB服务后,默认是没有权限验证的.直接通过IP加端口就可以远程访问数据库,并对数据库进行任意操作.下面介绍一下如何开启docker中MongoDB的权限认证. 安装完MongoD ...
- windows中修改IP映射的位置
windows中修改IP映射的位置 置顶 2018年08月05日 14:42:44 wangxiaolong0 阅读数:1473 在安装linux之后,发现windows不能通过映射来访问linu ...
- Windows键盘无法调起
Windows 键盘无法调起 经常使用触摸屏幕的小伙伴肯定都遇到过屏幕键盘怎么也唤不起来(在桌面模式下,非平板模式).以下收集了一些常见的解决方案: 注:本文基于 Windows 10 v1903,其 ...
- spring boot使用注解的方式引入mybatis的SqlSessionDaoSupport
出现这个问题, 说明一点, 我对spring的注解方式的配置只是知道一个皮毛. 没有深入理解. 有时间要把这部分充充电 package com.zhike.qizhi.common.dao; impo ...
- lqb 基础练习 十进制转十六进制
基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A ...
- iOS核心动画高级技巧-2
3. 图层几何学 图层几何学 不熟悉几何学的人就不要来这里了 --柏拉图学院入口的签名 在第二章里面,我们介绍了图层背后的图片,和一些控制图层坐标和旋转的属性.在这一章中,我们将要看一看图层内部是如何 ...
- 力扣(LeetCode)验证回文串 个人题解
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...
- 力扣(LeetCode)2的幂 个人题解
给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1: 输入: 1 输出: true 解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示这题是考 ...
- Elasticsearch系列---常见搜索方式与聚合分析
概要 本篇主要介绍常见的6种搜索方式.聚合分析语法,基本是上机实战,可以和关系型数据库作对比,如果之前了解关系型数据库,那本篇只需要了解搜索和聚合的语法规则就可以了. 搜索响应报文 以上篇建立的mus ...
- web前端面试经常遇得到的题型
1.position的值, relative和absolute分别是相对于谁进行定位的? § absolute :生成绝对定位的元素, 相对于最近一级的 定位不是 static 的父元素来进行定位. ...