当前位置:网站首页>[exercise-7] (UVA 10976) fractions again?! (fraction split)
[exercise-7] (UVA 10976) fractions again?! (fraction split)
2022-07-06 15:56:00 【Flame car】
translate :
Enter a positive integer k, Find all positive integers x≥y, bring
1 k = 1 x + 1 y \frac{1}{k}=\frac{1}{x}+\frac{1}{y} k1=x1+y1
This question is also very interesting , Do some advanced calculation :
Since it is required to find all x,y, The enumerated object is naturally x,y 了 . But the problem is , How about the scope of enumeration ? from 1/12=1/156+1/13 It can be seen that ,x Comparable y Much larger . Should we enumerate endlessly ? Of course not. . because x≥y, Yes 1/x ≤1/y, therefore 1/k - 1/y ≤ 1/y, namely y≤2k. This only needs to be done in [k+1,2k] Enumeration in scope y, And then according to y Try to work out x that will do .
( Content from Purple Book )
That's great !
AC Code :
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+5;
const ll mod = 1e9+7;
int main()
{
int n;
while(cin>>n && n)
{
int cnt = 0;
for(int i=n+1;i<=2*n;i++)
if((i*n)%(i-n)==0)
cnt++;
cout<<cnt<<endl;
for(int i=n+1;i<=2*n;i++)
if((i*n)%(i-n)==0)
printf("1/%d = 1/%d + 1/%d\n",n,(i*n)/(i-n),i);
}
}
Write directly twice and calculate cnt One side of the output is because I'm too lazy ... There may be simple ways ?? Well, it should be about the same .
The middle judgment idea is like this :1/k = 1/x +1/y, in other words 1/k - 1/y = 1/x Is to meet the conditions .
The left side of the equation is simplified to y/ky - k/ky ==》 (y-k)/yk That is to say, as long as this formula can be reduced to 1/? Is to meet the conditions .
That is to say 1/(yk/(y-k)) The denominator of is an integer . That is to say yk%(y-k) ==0
So we get the formula in the code .
summary :
The problem of this formula , We should use unknown numbers to deduce several new formulas to simplify the problem .
Mainly push formula , If you can't push it out, you'll be finished ...
边栏推荐
- Opencv learning log 30 -- histogram equalization
- Information security - threat detection - Flink broadcast stream broadcaststate dual stream merging application in filtering security logs
- 0-1 knapsack problem (I)
- JS调用摄像头
- Opencv learning log 15 count the number of solder joints and output
- Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
- 洛谷P1102 A-B数对(二分,map,双指针)
- China earth moving machinery market trend report, technical dynamic innovation and market forecast
- China's salt water membrane market trend report, technological innovation and market forecast
- Opencv learning log 31 -- background difference
猜你喜欢

【高老师UML软件建模基础】20级云班课习题答案合集

STM32 learning record: play with keys to control buzzer and led
![[exercise-7] crossover answers](/img/66/3dcba2e70a4cd899fbd78ce4d5bea2.png)
[exercise-7] crossover answers

Information security - threat detection engine - common rule engine base performance comparison

渗透测试 ( 7 ) --- 漏洞扫描工具 Nessus

动态规划前路径问题优化方式

STM32 how to use stlink download program: light LED running light (Library version)

渗透测试 ( 1 ) --- 必备 工具、导航

Penetration test (2) -- penetration test system, target, GoogleHacking, Kali tool

信息安全-威胁检测引擎-常见规则引擎底座性能比较
随机推荐
【练习-3】(Uva 442)Matrix Chain Multiplication(矩阵链乘)
nodejs爬虫
0-1背包问题(一)
Path problem before dynamic planning
信息安全-威胁检测-flink广播流BroadcastState双流合并应用在过滤安全日志
Printing quality inspection and verification system Industry Research Report - market status analysis and development prospect forecast
渗透测试 ( 4 ) --- Meterpreter 命令详解
信息安全-威胁检测-NAT日志接入威胁检测平台详细设计
【高老师软件需求分析】20级云班课习题答案合集
【练习-7】(Uva 10976)Fractions Again?!(分数拆分)
数据在内存中的存储&载入内存,让程序运行起来
China's earthwork tire market trend report, technical dynamic innovation and market forecast
Matlab example: two expressions of step function
渗透测试 ( 2 ) --- 渗透测试系统、靶机、GoogleHacking、kali工具
Cost accounting [13]
信息安全-威胁检测引擎-常见规则引擎底座性能比较
【练习-10】 Unread Messages(未读消息)
Cost accounting [19]
0-1背包問題(一)
STM32 how to use stlink download program: light LED running light (Library version)