第五届蓝桥杯——java c组 1/a 的分数称为单位分数

2023-11-12

形如:1/a 的分数称为单位分数。
可以把1分解为若干个互不相同的单位分数之和。
例如:
1 = 1/2 + 1/3 + 1/9 + 1/18
1 = 1/2 + 1/3 + 1/10 + 1/15
1 = 1/3 + 1/5 + 1/7 + 1/9 + 1/11 + 1/15 + 1/35 + 1/45 + 1/231
等等,类似这样的分解无穷无尽。
我们增加一个约束条件:最大的分母必须不超过30
请你求出分解为n项时的所有不同分解法。
数据格式要求:
输入一个整数n,表示要分解为n项(n<12)
输出分解后的单位分数项,中间用一个空格分开。
每种分解法占用一行,行间的顺序按照分母从小到大排序。
例如,
输入:
4
程序应该输出:
1/2 1/3 1/8 1/24
1/2 1/3 1/9 1/18
1/2 1/3 1/10 1/15
1/2 1/4 1/5 1/20
1/2 1/4 1/6 1/12
再例如,
输入:
5
程序应该输出:
1/2 1/3 1/12 1/21 1/28
1/2 1/4 1/6 1/21 1/28
1/2 1/4 1/7 1/14 1/28
1/2 1/4 1/8 1/12 1/24
1/2 1/4 1/9 1/12 1/18
1/2 1/4 1/10 1/12 1/15
1/2 1/5 1/6 1/12 1/20
1/3 1/4 1/5 1/6 1/20

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 2000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。

思路:分母应该是小于30。这道题目要用递归去写,由于分数运算会导致精度丢失,所以

必须用求出最小公倍数的方法来解决这道题目。

static long tmp = 2329089562800l;
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		while (input.hasNext()) {
			int n = input.nextInt();
			int arr[] = new int[n];
			f2(arr, 0, 0, 0);
			return;
		}
	}
	
	public static void f2(int arr[], int k, int t, long res) {
		if (k == arr.length) {
			long sum = 0;
			if (res == tmp) {
				for (int i = 0; i < arr.length; i++) {
				if (i == arr.length - 1) { 
					System.out.println("1/" + arr[i]);
				} else {
					System.out.print("1/" + arr[i] + " ");
				}
			}
		}
			return;
	}
		if (k==arr.length-3) {//在这个位置检查前面的项数和是否超过了1
			if (res>tmp) {
				return;
			}
		}
		for (int i=t+1;i<30;i++) {//题目应该是分母不能超过30
			arr[k]=i;
			f2(arr,k+1,i,res+tmp / i);
		}
	}
	```

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第五届蓝桥杯——java c组 1/a 的分数称为单位分数 的相关文章

  • C语言 在数组中找到和值为目标值的两个元素

    输入你的目标值target 就能找到相加为target的两个数了 自己输入一个数组 并且设定一个目标值 target 就能在数组中找到两个相加等于target的元素了 include
  • 蓝桥杯 题库 简单 每日十题 day2

    01 卡片 题目描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 小蓝有很多数字卡片 每张卡片上都是数字 0 到 9 小蓝准备用这些卡片来拼一些数 他想从 1 开始拼出正整数 每拼一个 就保存起来 卡片就不能用来
  • 蓝桥杯青少组python:第十三届省赛第一场

    选择题 1 下列二进制中最大数是 A 110 B 1010 C 1100 D 1001 2 以下方法 不是对文件读操作的是 A readline B readlines C readtext D read 3 以下对turtle库中函数描述
  • openGL之API学习(一九四)glGenTextures glActiveTexture

    glGenTextures产生的是一个比较小的整数id 纹理单元名 glActiveTexture激活的是纹理单元号 GL TEXTUREi 它们二者的关系为GL TEXTUREi GL TEXTURE0 id glBindTexture使
  • 青少年ptyhon可以参加的主流比赛大全

    青少年python教学视频ppt源码 青少年python系列目录 老程序员115的博客 CSDN博客 一 全国青少年软件编程等级考试 主办单位 中国电子学会 全国青少年电子信息科普创新联盟 网址 http www qceit org cn
  • 第五届蓝桥杯—— 基础练习:数列特征

    问题描述 给出n个数 找出这n个数的最大值 最小值 和 输入格式 第一行为整数n 表示数的个数 第二行有n个数 为给定的n个数 每个数的绝对值都小于10000 输出格式 输出三行 每行一个整数 第一行表示这些数中的最大值 第二行表示这些数中
  • 蓝桥杯单片机组——程序框架及客观题

    文章目录 前言 程序框架 main 中断 两段式代码结构 单片机运行流程 代码风格 客观题 总结 目录 前言 前面两篇主要是介绍了蓝桥省赛的一些参赛技巧 此篇主要是分享程序框架和一些客观题的链接 程序框架 蓝桥的评分是综合了效果和代码步骤的
  • 对象的初始化和清理(构造和析构函数)

    对象的初始化和清理 1 1 构造函数 1 1 1 没有返回值 没有void 类名相同 可以发生重载 1 2 构析函数 1 2 1 没有返回值 没有void 函数名称 类名 不可以发生重载 不可以有参数 1 3 系统会默认调用 构造函数和析构
  • openGL之API学习(一九三)glGenTextures

    生成纹理单元名 单元名不一定是连续的 但是没有使用的 单元名是相对GL TEXTURE0的 对于单元名1 其实是GL TEXTURE0 1 glGenTextures产生的是一个比较小的整数id 纹理单元名 glActiveTexture激
  • Python蓝桥杯 基础练习 十六进制转八进制

    def huan n n format int n 16 o print n x int input for i in range 1 x 1 n input huan n format o 将数据格式化为八进制 int n 16 返回字符
  • 蓝桥杯最长不下降子序列,线段树python

    问题描述 给定一个长度为 N 的整数序列 A1 A2 AN 现在你有一次机会 将其 中连续的K 个数修改成任意一个相同值 请你计算如何修改可以使修改后的数 列的最长不下降子序列最长 请输出这个最长的长度 最长不下降子序列是指序列中的一个子序
  • 蓝桥杯单片机第14届省赛客观题目+程序题目+程序题参考答案

    目录 客观题题目 程序题题目 程序题参考答案 main h main c Init h Init c SMG h SMG c DSQ h DSQ c YanShi h YanShi c JZKey h JZKey c ds1302 h ds
  • c++汉诺塔蓝桥杯

    总时间限制 10000ms 单个测试点时间限制 1000ms 内存限制 262144kB 描述 小蓝很喜欢玩汉诺塔游戏 游戏中有三根柱子 开始时第一根柱子上有 n 个圆盘 从上到下圆盘的大小依次为 1 到 n 每次 可以将一个盘子从一根柱子
  • 树与二叉树(二叉树的表示,性质,遍历,还原)

    1 基本术语 A 或B 是I的祖先 I是A 或B 的子孙 D是I的双亲 I是D的孩子 节点的孩子个数称为节点的度 树中节点的最大度数称为树的度 度大于0的节点称为分支节点 度等于0的节点称为叶节点 定义树根为第一层 则 树的深度 高度 为5
  • 蓝桥杯-2020年省赛-回文日期

    498 import datetime n input start datetime date int n 4 int n 4 6 int n 6 delta datetime timedelta days 1 flag 0 for i i
  • c++类和对象--封装--属性和行为做整体

    封装的意义 1 将属性和行为当做一个整体来表现对象 类中的属性和行为统称为成员 属性又叫成员属性或成员变量 行为又叫成员函数或成员方法 案例 设计一个圆类 求圆的周长 include
  • 每日一练-仓库日志

    仓库日志 题目描述 解题思路 Python源码 Summary Date 2023年1月9日 Author 小 y 同 学 Classify 蓝桥杯每日一练 Language Python 题目描述 题意 M海运公司最近要对旗下仓库的货物进
  • 蓝桥杯-快乐数-力扣

    202 快乐数 编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果这个过程 结果为 1 那
  • 试题 B: 顺子日期

    问题描述 小明特别喜欢顺子 顺子指的就是连续的三个数字 123 456 等 顺子日 期指的就是在日期的 yyyymmdd 表示法中 存在任意连续的三位数是一个顺 子的日期 例如 20220123 就是一个顺子日期 因为它出现了一个顺子 12
  • [蓝桥杯 2014 省 A] 波动数列

    题目链接 蓝桥杯 2014 省 A 波动数列 题目描述 观察这个数列 1 3 0 2

随机推荐

  • 【电脑使用】chm文件打开显示确保Web地址 //ieframe.dll/dnserrordiagoff.htm#正确

    问题描述 最近找到一个之前的一个chm文件 打开的时候内容是空白的 同时报错 确保Web地址 ieframe dll dnserrordiagoff htm 正确 如下图所示 参考链接 解决方案 根据文章中提示的方法 找到了原因所在 chm
  • 详解微信小程序支付流程

    小程序微信支付图 微信小程序的商户系统一般是以接口的形式开发的 小程序通过调用与后端约定好的接口进行参数的传递以及数据的接收 在小程序支付这块 还需要跟微信服务器进行交互 过程大致是这样的 一 小程序调用登录接口获取code 传递给商户服务
  • linux传输文件指令

    使用scp传输 从本地传到服务器 scp P 目的端口 本地路径 目的用户名 目的IP 目的路径 r参数可用来传文件夹 scp r P 使用sftp传输 sftp oPort 目的端口号 目的用户名 目的IP get下载 put上传
  • 这5个开源和免费静态代码分析工具,你一个都没有用过吗?不会吧

    如果您是软件开发人员或代码安全分析师 则通常需要分析源代码以检测安全漏洞并维护安全的质量代码 但是您的代码中可能存在许多难以手动发现的问题 毕竟 我们仍然是人类 因此即使是最高级的安全分析师也都会错过一些安全漏洞 我们提供了源代码分析工具功
  • MySql中4种批量更新的方法

    MySql中4种批量更新的方法 mysql 批量更新共有以下四种办法1 replace into 批量更新 replace into test tbl id dr values 1 2 2 3 x y 例子 replace into boo
  • 人生顿悟之宽以待人,严以律己

    台风已经过去了 天气也渐渐地晴朗了 但是不知道为什么自己的心情却越发觉得沉重起来 总觉得生活中少了点什么 是没有了以往的激情 还是多了几分压力 看了近1个月的房子 两个人的所有积蓄加上两家人的积蓄 勉强可以付得起首付 接下去就是了无止境的房
  • 开启MySQL主从半同步复制

    记录配置mysql主从半同步复制的过程 加载lib 所有主从节点都要配置 主库 install plugin rpl semi sync master soname semisync master so 从库 install plugin
  • Android Studio从一个activity到另一个activity

    Android Studio从一个activity跳转到另一个activity 简单的跳转 创建两个activity 创建跳转按钮 在第一个activity的onCreate中添加按钮监听事件 编写内部类 button setOnClick
  • [网盘工具/百度网盘]秒传链接的使用 -2022版油猴网页脚本

    注 此项技术仅针对百度网盘有效 软件要求 Chrome或Firefox等支持tampermonkey Violentmonkey的浏览器 1 什么是秒传链接 度盘秒传链接 标准提取码 由128位 32个16进制数 128位 32个16进制数
  • Neon intrinsics

    1 介绍 在上篇中 介绍了ARM的Neon 本篇主要介绍Neon intrinsics的函数用法 也就是assembly之前的用法 NEON指令是从Armv7架构开始引入的SIMD指令 其共有16个128位寄存器 发展到最新的Arm64架构
  • mysql设置wait timeout_mysql修改wait_timeout_MySQL

    bitsCN com mysql修改wait timeout mysql mysql gt show global variables like wait timeout 其默认值为8小时 mysql的一个connection空闲时间超过8
  • TypeScript中类的继承

    特点 避免重复创建类 减少代码数量 通过extends关键字继承父类 通过super继承父类的属性和方法 实例 class Person1 定义属性 name string age number gender string construc
  • transformer序列预测示例

    本文参考 python量化 将Transformer模型用于股票价格预测 蚂蚁爱Python的博客 CSDN博客 transformer 股票 一 Transformer初步架构图 二 transformer各组件信息 1 position
  • Maven执行mvn clean compile命令遇到Fatal error compiling: 无效的标记: --release错误解决办法

    Maven执行mvn clean compile命令会报如下图所示的错误 由图可知 maven compiler plugin插件编译时用到了 release选项 而我的jdk是1 8 不支持该选项 此时我的maven compiler p
  • linux学成之路(基础篇(二十三)MySQL服务(中)

    目录 MySQL服务之SQL语句 一 SQL语句类型 一 DDL语句 二 DML语句 三 DCL语句 四 DQL 语句 二 数据库操作 一 查看 二 创建 三 进入 四 删除数据库 五 更改数据库名称 六 更改字符集 三 数据表管理 一 数
  • Hadoop HDFS shell 命令行常用操作

    前言 Hadoop HDFS shell的命令和Linux的shell命令有类似的地方 基本上会使用Linux命令的话 把HDFS的理论理解一下就可以了 一 创建文件夹 hadoop fs mkdir p
  • 【915程序设计】21西交大软件专硕915程序设计真题讲解

    28 马鞍点 include
  • 【华为OD机试c++】Excel单元格数值统计【 2023 Q1

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 Excel 工作表中对选定区域的数值进行统计的功能非常实用 仿照Excel的这个功能 请对给定表格中选中区域中的单元格进行求和统计 并输出统计结
  • Halide学习笔记---Halide语言设计的初衷

    Halide语言设计初衷 我们正处于一个数据密集的时代 4D广场相机 图形渲染 3D打印 图像传感器 高质量医学图像等 每天生产大量的图像数据 面对这样一个图像时代 急需要针对图像处理算法设计的高性能图像处理编程语言 在这样的需求下 Hal
  • 第五届蓝桥杯——java c组 1/a 的分数称为单位分数

    形如 1 a 的分数称为单位分数 可以把1分解为若干个互不相同的单位分数之和 例如 1 1 2 1 3 1 9 1 18 1 1 2 1 3 1 10 1 15 1 1 3 1 5 1 7 1 9 1 11 1 15 1 35 1 45 1