NKOJ P9669 & Luogu P3951 小凯的疑惑 Plus

该问题讨论了当只有互素的两种面值金币时,无法准确支付的商品中最高价格及无法支付的商品种类。通过数学分析,得出最贵商品价值为两面值乘积减去两面值之和,无法支付的物品种类为(a-1)(b-1)/2。

目录

题目

分析

代码


题目

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小凯想知道:

  1. 在无法准确支付的物品中,最贵的价值是多少金币?

  2. 共有多少种无法支付的物品?

注意:输入数据保证存在小凯无法准确支付的商品。

输入格式

输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。

对于 30% 的数据:1 ≤ a,b ≤ 50;

对于 60% 的数据: 1 ≤ a,b ≤ 10,000;

对于 100% 的数据:1 ≤ a,b ≤ 1,000,000,000。

输出格式

输出 2 个整数,分别表示 2 个问题的答案。

分析

问题 1

不妨设需要 m 个 a 元,n 个 b 元

设 a<b ,令 x=ma+nb ,则 1\leq m\leq b-1

当 n\geq 0 时,x 可用 a ,b 表示出,不符合题意

当 n= -1 时,x 可取得最大值,此时 x= ma-b ,若 m 取最大值 b-1 ,x 最大

此时x=(b-1)a-b ,化简得 ab-a-b

证毕

 问题 2(NKOJ加问)

\because  gcd\left ( a,b \right )=1

\therefore  ab 必有一奇数

1. 若 ab 其中一个为偶数

则有 \frac{(a-1)(b-2)+(a-1)}{2}\frac{(a-2)(b-1)+(a-2)}{2}种无法支付的物品

  \frac{(a-1)(b-2)+(a-1)}{2}

= \frac{(a-1)(b-2+1)}{2}= \frac{(a-1)(b-1)}{2}

---------------------------------------------------------------------

\frac{(a-2)(b-1)+(b-1)}{2}

= \frac{(a-2+1)(b-1)}{2} = \frac{(a-1)(b-1)}{2}

结果均为 \frac{(a-1)(b-1)}{2}

 2. ab 均为奇数

则有 \frac{(a-1)(b-1)}{2} 种无法支付的物品

\therefore 无法支付的物品共 \frac{(a-1)(b-1)}{2} 种 

证毕

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b;
signed main()
{
	cin>>a>>b;
	cout<<a*b-a-b<<" "<<(a-1)*(b-1)/2;
	return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值