首页 > 试题广场 >

平均值

[编程题]平均值
  • 热度指数:92 时间限制: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
1
发表于 2025-03-18 10:51:04 回复(1)