首页 > 试题广场 >

清楚姐姐买竹鼠

[编程题]清楚姐姐买竹鼠
  • 热度指数:6039 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}清楚姐姐途经山村,遇到一家售卖竹鼠的商铺:
\hspace{23pt}\bullet\, 花费 a 元可购买 1 只竹鼠;
\hspace{23pt}\bullet\, 花费 b 元可购买 3 只竹鼠。

\hspace{15pt}给定 a,b,x,求买到至少 x 只竹鼠所需的最小花费。

输入描述:
\hspace{15pt}在一行上输入三个整数 a,b,x\left(1\leqq a,b,x\leqq 10^9\right)


输出描述:
\hspace{15pt}输出一个整数,表示最少需花费的金额。
示例1

输入

4 10 10

输出

34

说明

\,\,\,\,\,\,\,\,\,\,花费 3\times b = 30 元买 9 只竹鼠,再花费 1\times a = 4 元买 1 只竹鼠,共花费 34 元。我们可以证明,没有更优的购买方式。
头像 深藏功与名的懒羊羊很贴心
发表于 2025-07-09 08:26:07
/*我们可以套用这个策略:列出所有“购买方式/组合方式” 单买:1单位,价格 a 套餐:k个一组,价格 b 设变量 k 表示组数(通常选大的单位,枚举组数更快) 枚举 k,每次用公式算出需要多少补货(如单买),计 展开全文
头像 niepan_gao
发表于 2025-06-24 20:55:17
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 小小虫44167
发表于 2025-10-08 15:47:31
a,b,x = map(int,input().split()) if x<3 or a*3<b: print(a*x) else: num = x // 3 rem = x % 3 res1 = b*num+rem*a res2 = b*(nu 展开全文
头像 papybara
发表于 2025-08-20 10:53:18
a,b,x = map(int,input().split()) if 3*a>b: quotient,remainder = divmod(x,3) res = b*quotient+a*remainder # 尽量买3的倍数,剩下的单买 res2 = b*(quot 展开全文
头像 昱立123
发表于 2025-11-07 16:38:52
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = 展开全文
头像 GPT1_0
发表于 2025-11-11 19:43:11
a,b,x = map(int,input().split()) dan = x%3 ju = x//3 if a<=b/3: min = x*a elif a>b and dan != 0: min = (ju+1)*b elif a>b and dan == 展开全文
头像 冷艳的西红柿刷牛客
发表于 2025-10-07 08:53:32
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 1900201910072158499
发表于 2025-08-26 15:33:44
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in 展开全文
头像 何成95
发表于 2025-08-27 21:44:16
a, b, x = map(int, input().split()) if b / 3 >= a:#购买三只比单独购买一只无优惠,甚至价格更贵时 print(a * x) elif b <= a:#购买三只的价格不超过购买一只时 if x % 3 == 0:#需要购买的 展开全文
头像 niuke9999
发表于 2025-11-06 14:44:07
#include <stdio.h> typedef long long ll; int main() { ll a, b, x; scanf("%lld%lld%lld", &a, &b, &x); ll sum = 展开全文