【Uva】10976-Fractions Again?!

news/2024/5/19 1:44:52 标签: 枚举

1、题目

在这里插入图片描述

2、题意

输入正整数 k k k,找到所有正整数 x ≥ y x \ge y xy,使得 1 k = 1 x + 1 y \frac{1}{k} = \frac{1}{x} + \frac{1}{y} k1=x1+y1

3、分析

既然要求找出所有的 x , y x,y x,y枚举对象自然是 x , y x,y x,y了。可问题在于,枚举的范围如何?从 1 / 12 = 1 / 156 + 1 / 13 1/12 = 1/156 + 1/13 1/12=1/156+1/13 可以看出, x x x 可以比 y y y 大很多。难道要无休止枚举下去?当然不是。由于 x ≤ y x \le y xy,有 1 x ≤ 1 y \frac{1}{x} \le \frac{1}{y} x1y1,因此 1 k − 1 y ≤ 1 y \frac{1}{k} - \frac{1}{y} \le \frac{1}{y} k1y1y1,即 y ≤ 2 k y \le 2k y2k。这样,只需要在 2 k 2k 2k 范围之内枚举 y y y,然后根据 y y y 尝试计算出 x x x 即可。

4、代码实现

#include<cstdio>
#include<vector>
using namespace std;

int main() {
	int k;
  	while(scanf("%d", &k) == 1 && k) {
    vector<int> X, Y;
    for(int y = k+1; y <= k*2; y++) {
      // 1/k = 1/x + 1/y => x = ky/(y-k)
      if(k*y%(y-k) == 0) { 
      	X.push_back(k*y/(y-k)); 
      	Y.push_back(y); 
      }
    }
    printf("%d\n", X.size());
    for(int i = 0; i < X.size(); i++)
      printf("1/%d = 1/%d + 1/%d\n", k, X[i], Y[i]);
  	}
  	return 0;
}

http://www.niftyadmin.cn/n/5127934.html

相关文章

39 深度学习(三):tensorflow.data模块的使用(基础,可跳)

文章目录 data模块的使用基础api的介绍csv文件tfrecord data模块的使用 在训练的过程中&#xff0c;当数据量一大的时候&#xff0c;我们纯读取一个文件&#xff0c;然后每次训练都调用相同的文件&#xff0c;然后进行处理是很不科学的&#xff0c;或者说&#xff0c;当我们需…

归一化一维时序信号,针对上下幅值波动不均问题

目的&#xff1a;如下图&#xff0c;信号上包络和下包络都有无规律的起伏&#xff0c;如何进行有效归一化&#xff0c;步骤如下&#xff1a; 步骤1. 信号初步归一化 data mapminmax(data,-1,1); 步骤2. 希尔伯特变换获得该时序信号的包络 z hilbert(data);figure;plot(data…

Leetcode.树形DP

目录 543.二叉树的直径 124.二叉树中的最大路径和 2246.相邻字符不同的最长路径 543.二叉树的直径 用递归来写 考虑 树形DP 维护以当前节点为根节点的最大值&#xff0c;同时返回给父节点经过当前节点的最大链的长度&#xff0c;这有个trick 当遍历到空节点的时候返回-1 递归…

企业im即时通讯软件私有化部署,确保信息安全与高效办公

随着企业应用即时通讯&#xff08;IM&#xff09;的普及&#xff0c;信息安全问题成为了企业最为关心的话题。为了保障内部信息安全&#xff0c;让员工专心办公&#xff0c;企业可以选择将IM系统私有化部署在内网&#xff0c;与互联网隔离开来。 对于需要与外网通信的需求&…

Android开发中关于Ui的语法糖

一、layout_margin和padding android:layout_margin“10dp”&#xff0c;android:padding"10dp"区别 android:layout_margin"10dp"&#xff1a; 适用对象&#xff1a;用于调整 View 与其父容器或相邻 View 之间的距离&#xff0c;即外边距&#xff08;mar…

python+requests接口自动化测试框架

1、首先&#xff0c;我们先来理一下思路。 正常的接口测试流程是什么&#xff1f; 脑海里的反应是不是这样的&#xff1a; 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果&#xff08;有的需要数据库辅助&#xff09; —> 生成测试报…

博通BCM575系列 RDMA 网卡驱动 bnxt_re 分析(一)

简介 整个BCM系列驱动分成以太网部分(bnxt_en.ko)和RDMA部分(bnxt_re.ko), 两个模块之间通过内核的auxiliary_bus进行管理.我们主要分析下bnxt_re驱动. 代码结构 这个驱动的核心是 qplib_fp.c, 这个文件主要包含了驱动的数据路径, 包括Post Send, Post Recv, Poll CQ流程的实…

一次不接受官方建议导致的事故

记录一下 一次Elasticsearch集群事故分析、排查、处理 背景介绍 事故发生的ElasticSearch集群共有7台机器&#xff1a; 10.163.204.19310.163.204.19410.163.204.19510.163.220.7310.163.220.7410.163.220.22010.163.220.221 其中193、194、195的机器配置一样&#xff0c;具…