首页 > 试题广场 >

平均值

[编程题]平均值
  • 热度指数:94 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给出两个正整数 a, b,每次可以选择其中一个数字,然后将其替换为 a,b 的几何平均数或者 a,b 的平方平均数。问最少经过几次替换,可以使得 a,b 两个数相等。
注:
几何平均数:
平方平均数:
题目计算过程中几何平均数上取整,平方平均数下取整

输入描述:

在一行中给出两个正整数 a,b
1 \leq a \leq b \leq 2000




输出描述:

在一行中输出一个非负整数表示最少的替换次数

示例1

输入

2 4

输出

2

说明

2 替换成 \lceil \sqrt{2 \times 4} \rceil = 3,然后将 4 替换成 \lfloor \sqrt{\frac{3^2+4^2}{2}} \rfloor = 3

示例2

输入

12 16

输出

3

说明

12 替换为 \lfloor \sqrt{\frac{12^2+16^2}{2}} \rfloor = 14,然后将 16 替换成 \lceil \sqrt{14 \times 16}\rceil = 15,最后将 14 替换为 \lceil \sqrt{14 \times 15}\rceil = 15
头像 Silencer76
发表于 2025-03-31 19:22:32
题目链接 平均值 题目描述 给出两个正整数 x 和 y,每次可以选择其中一个数字,然后将其替换为 x 和 y 的几何平均数或者平方平均数。问最少经过几次替换,可以使得两个数相等。 注: 几何平均数:(向上取整) 平方平均数:(向下取整) 输入: 一行两个正整数 x 和 y 输出: 输出一个 展开全文
头像 丨阿伟丨
发表于 2025-09-16 17:46:56
题目链接 平均值 题目描述 给出两个正整数 和 。每次操作可以选择其中一个数字,然后将其替换为 的几何平均数或平方平均数。问最少经过几次替换,可以使得这两个数相等。 几何平均数: (上取整) 平方平均数: (下取整) 解题思路 这是一个典型的最短路径问题,可以用广度优先搜索 (BFS) 展开全文